Seezoon Stack 初步了解

官方网站

github仓库地址:

https://github.com/734839030/seezoon-stack

github代码克隆(https)地址:

https://github.com/734839030/seezoon-stack.git

项目本地Idea启动

pom文件更新

插件-maven-assembly-plugin

项目模块seezoon-admin-server的pom文件引入依赖

否则pom/build/plugins/pluginmaven-assembly-plugin报红!

<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
</dependency>

插件-lombok

报错内链(已解决):maven 解析lombok报错module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module

错误原因:lombok的版本与jre不兼容 ,需要在pom.xml中改变Lombok的版本,一般springboot中lombok的配置都是不带版本的,此时我们需要手动添加一下版本号

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>

环境准备

  • mysql 8.0
  • redis
  • jdk 11

内链|通过docker方式搭建mysql8.0

Mysql 注意事项

通过docker方式搭建mysql8.0及后续版本,在设置大小写不敏感只能在容器初始化时,后续重启均无效

正常操作代码生成功能点击添加(这里未展示报错截图!)

正常操作代码生成功能点击添加-success 截图展示

截图也包括展示部分字段注释

代码生成文件如下

  • db 需要到数据库执行入库的菜单记录SQL文件
  • *-server 需要复制文件到server模块的module
  • *-dao 需要复制文件到dao模块的module
  • *-web 需要复制文件到src/views/目录下

*-server的复制截图参考

*-web的复制截图参考

项目打包部署启动

Idea的maven插件执行package打包

maven-assembly-plugin

  • seezoon-admin-server-2.1.0.jar 插件Idea的package
  • seezoon-admin-server-2.1.0.tar.gz 插件

项目后端运行

参考博客:SpringBoot 配置加载优先级详解

nohup java -jar -Dspring.config.additional-location=application-local.properties seezoon-admin-server-2.1.0.jar > /dev/null 2>&1 &
  • Dspring.config.additional-location 指定外部配置文件

进阶命令

如何正确的启动停止SpringBoot Jar,解决端口被占用、终端退出后不停止服务

输出日志

nohup java -jar demo.jar >./log.txt  2>&1 &

根据Java程序logback配置自输出日志(推荐)

nohup java -jar demo.jar > /dev/null 2>&1 &

停止Java程序进程

ps -ef | grep  demo.jar
kill -9 pid

Docker部署Nginx代理静态资源页面

内链|Docker部署Nginx

Nginx配置文件

upstream seezoon-admin-server {
server 192.168.136.181:8080 max_fails=3 fail_timeout=10s;
}

server {
listen 80;
#server_name stack.seezoon.com;
#rewrite ^(.*)$ https://$host$1 permanent;

#api接口
location ^~ /api/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://seezoon-admin-server/;
}

#文件上传资源
location ^~ /file/ {
access_log off;
#同理不赘述,容器路径+宿主机路径
alias alias /usr/share/nginx/html/upload-server;
}

#新增配置项目,用于查看上传图片(2023.06.21)
location /static/ {
access_log off;
root /usr/share/nginx/html/upload-server;
}

#静态资源
location / {
access_log off;
#备注:/usr/share/nginx/html/ 为容器内路径,seezoon-admin-web/dist 为docker-v映射外部宿主机的文件目录
root /usr/share/nginx/html/seezoon-admin-web/dist;
index index.html index.htm;
}

}

root /usr/share/nginx/html(容器路径)+/seezoon-admin-web/dist(宿主机);

注意事项:注意Docker容器和宿主机的配置静态资源html的路径问题(详细可参考上述内链

部署结束截图(前端+后端)

项目配置文件变更

文件上传配置