主要参考文章:CSDN
步骤:
-
克隆我的 GitHub 仓库
-
后端部署:
-
数据库的建立:
第一种就是按照我的配置去建立,安装 MySQL(8.0.30及以后) ,选择 450mb 离线安装包。配置端口号 3306,默认用户 root,密码 123456frank 。运行成功后,建立数据库atlantis
,运行仓库内的sql
文件,建表成功后刷新看到共10张表后即成功。
第二种就是自己配,同时记得修改下文中的application.yml
为跟你本地的数据库对应的配置。 -
application.yml
文件解释及修改: -
打
jar
包前的准备:
由于本项目是分模块开发,利用了maven
的聚合和继承。因此重点是是将本项目下的所有pom.xml
下的spring-boot-maven-plugin
全部注释掉(注释掉整个<build></build>
标签)。进入controller
模块中的pom.xml
,保留其中的spring-boot-maven-plugin
。同时父工程(最外层)的pom.xml
记得修改打包方式为pom
。 -
打
jar
包:
先执行clean
,后执行package
。正常这个时候已经成功了。在控制台的打印输出中,找到该文件(大小应该 20mb 往上),可以单独复制出去,可以改名。同时将项目根目录/Data
文件夹复制到jar
文件同一级路径下。如下图:
-
启动: 在该路径下,打开
cmd
,输入java -jar XXX.jar --spring.profiles.active=pro --server.port=8082 (修改了)
。--spring.profiles.active
选择哪个环境,--server.port
选择端口(pro环境默认为 8082)。当运行如下图时,即后端开启成功:
-
-
前端部署:
-
./src/utils/baseUrl.js
文件解释及修改: 这里统一定义了请求的访问路径。与后端的IP和端口对应。请求路径是nginx
中监听的端口号和IP。 -
项目打包:
cmd
进入项目根目录,如:C:\Users\Frank\OneDrive\Codes\My Projects\ProTraining Projects\Atlantis\atlantis-front>
,运行npm run build
(在此之前先确认根目录下有没有node_modules
文件,没有的话,管理员cmd
进入根目录输入npm install
,待不报错并正确执行完后,在 执行npm run build
)。待打包成功后,根目录下多出dist
文件夹,将这个文件夹复制。 -
下载
nginx
(仓库里我已经将nginx
配置好了,解压即可):
选择 稳定版,解压到一个地方。 -
配置
nginx
: 首先将dist
文件夹直接复制到 nginx 安装目录下的html
文件夹中,即路径为/nginx/html/dist
。之后打开nginx/conf
路径下的nginx.conf
,记事本打开即可,建议有代码高亮更好。修改server
配置,注意注释,如下:server { # 监听端口 # 如:http://localhost:8080,就可以进页面 # 因此,上文中的 baseUrl.js 中的请求路径是 localhost:8080,这样才能将 /api 请求进行代理转发 listen 8080; # 这里可以填多个 server_name localhost; # 这四个可以不用,前端 axios 请求中已经添加 # 允许跨域请求的域,* 代表所有 # add_header 'Access-Control-Allow-Origin' *; # 允许带上cookie请求 # add_header 'Access-Control-Allow-Credentials' 'true'; # 允许请求的方法,比如 GET/POST/PUT/DELETE # add_header 'Access-Control-Allow-Methods' *; # 允许请求的header # add_header 'Access-Control-Allow-Headers' *; #charset koi8-r; #access_log logs/host.access.log main; location / { # 修改如下 # root 即是刚刚 dist 文件放入的位置,这里是相对路径 root html/dist; index index.html index.htm; try_files $uri $uri/ /index.html; } # 修改(添加)如下 location /api/ { # dev env proxy_pass http://localhost:8081; # pro env # pro 环境下转发到 8082 后端端口 # proxy_pass http://localhost:8082; # proxy_set_header Host $HOST; # rewrite "^/api/(.*)" /$1 break; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
-
启动
nginx
:
双击nginx.exe
,或者在nginx
安装目录下打开cmd
,输入nginx
,出现黑框,且里面什么内容都没提示的话,应该是正常启动了。以下是常用命令://启动nginx(常用) start nginx //检查nginx是否启动成功命令(检查nginx及其所有子线程) tasklist /fi "imagename eq nginx.exe" //关闭或停止最后一次运行的nginx nginx -s stop //完整有序的停止最后一次运行的nginx nginx -s quit //完全停止所有nginx及其子线程(常用) taskkill /f /t /im nginx.exe
-
413 错误:
文件上传大小问题。在
http
中配置:# 配置请求体缓存区大小 client_max_body_size 20M; # 设置客户端请求体最大值 client_body_buffer_size 20M; fastcgi_intercept_errors on;
同时在后端的
application.yml
中配置Multipart
文件上传大小的限制。
-