常规部署方式

后端部署

修改配置

按需修改我们的 application-prod.yml,如需打开 Swagger ,那么需要将 enabled 设置为 true

  1. swagger:
  2. enabled: true

打包项目

我们需要将项目打包好的 Jar 文件上传到服务器,步骤图如下:

image.png

image578bed89803bdfa9.png

编写脚本

编写脚本用于操作 java 服务

(1) 启动脚本 start.sh

  1. nohup java -jar eladmin-system-2.6.jar --spring.profiles.active=prod > nohup.out 2>&1 &

(2) 停止脚本 stop.sh

  1. PID=$(ps -ef | grep eladmin-system-2.6.jar | grep -v grep | awk '{ print $2 }')
  2. if [ -z "$PID" ]
  3. then
  4. echo Application is already stopped
  5. else
  6. echo kill -9 $PID
  7. kill -9 $PID
  8. fi

(3) 查看日志脚本 log.sh

  1. tail -f nohup.out

脚本创建完成后就可以操作 java 服务了

  1. # 启动java
  2. ./start.sh
  3. # 停止java服务
  4. ./stop.sh
  5. # 查看日志
  6. ./log.sh

配置 nginx

我们可以使用 nginx 代理 java服务,添加配置

  1. server {
  2. listen 80;
  3. server_name 域名/当前服务器外网IP;
  4. location / {
  5. proxy_pass http://127.0.0.1:8000; #这里的端口记得改成项目对应的哦
  6. proxy_set_header X-Forwarded-Proto $scheme;
  7. proxy_set_header X-Forwarded-Port $server_port;
  8. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  9. proxy_set_header Upgrade $http_upgrade;
  10. proxy_set_header Connection "upgrade";
  11. }
  12. }

前端部署

这里提供两个配置方式 [History、Hash] 的部署方式,首先修改接口地址,如果是 IP 地址,那么需要修改为外网 IP

部署项目 - 图3

History 模式

项目默认是 History 模式,不需要做任何修改

image4285f15c9c2dfa96.png

Hash 模式

1、修改 routers.js,取消 hash 的注释

image92197994858c5edd.png

2、修改根目录 vue.config.js 配置,取消 15 行的注释

imagee7ae12491c445923.png

打包项目

不管是将项目部署到 nginx 还是其他服务器,都需要先将项目打包

  1. npm run build:prod

打包完成后会在根目录生成 dist 文件夹,我们需要将他上传到服务器中

Nginx 配置

nginx/conf/nginx.conf 添加配置

History 模式配置
  1. server
  2. {
  3. listen 80;
  4. server_name 域名/外网IP;
  5. index index.html;
  6. root /home/wwwroot/eladmin/dist; #dist上传的路径
  7. # 避免访问出现 404 错误
  8. location / {
  9. try_files $uri $uri/ @router;
  10. index index.html;
  11. }
  12. location @router {
  13. rewrite ^.*$ /index.html last;
  14. }
  15. }
Hash 模式配置
  1. server {
  2. listen 80;
  3. server_name 域名/外网IP;
  4. location / {
  5. root /home/wwwroot/eladmin/dist; #dist上传的路径
  6. index index.html;
  7. }
  8. }

二级目录部署

Nginx 配置
  1. server {
  2. listen 80;
  3. server_name 域名/外网IP;
  4. location /dist {
  5. root /home/wwwroot/eladmin/test;
  6. index index.html;
  7. }
  8. }

文件目录 image

注意目录名称要与配置名称一致

image

重启Nginx

  1. systemctl restart nginx

重启 nginx 后,访问你的域名或者IP地址即可