后端部署

修改配置

按需修改我们的 application-prod.yml

  1. #配置数据源
  2. spring:
  3. datasource:
  4. druid:
  5. db-type: com.alibaba.druid.pool.DruidDataSource
  6. driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
  7. url: jdbc:log4jdbc:mysql://localhost:3306/eladmin?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
  8. username: root
  9. password: 123456
  10. # 初始连接数
  11. initial-size: 5
  12. # 最小连接数
  13. min-idle: 10
  14. # 最大连接数
  15. max-active: 20
  16. # 获取连接超时时间
  17. max-wait: 5000
  18. # 连接有效性检测时间
  19. time-between-eviction-runs-millis: 60000
  20. # 连接在池中最小生存的时间
  21. min-evictable-idle-time-millis: 300000
  22. # 连接在池中最大生存的时间
  23. max-evictable-idle-time-millis: 900000
  24. test-while-idle: true
  25. test-on-borrow: false
  26. test-on-return: false
  27. # 检测连接是否有效
  28. validation-query: select 1
  29. # 配置监控统计
  30. webStatFilter:
  31. enabled: true
  32. stat-view-servlet:
  33. enabled: true
  34. url-pattern: /druid/*
  35. reset-enable: false
  36. login-username: admin
  37. login-password: 123456
  38. filter:
  39. stat:
  40. enabled: true
  41. # 记录慢SQL
  42. log-slow-sql: true
  43. slow-sql-millis: 1000
  44. merge-sql: true
  45. wall:
  46. config:
  47. multi-statement-allow: true
  48. # 是否限制单用户登录
  49. single:
  50. login: false
  51. #jwt
  52. jwt:
  53. header: Authorization
  54. # 令牌前缀
  55. token-start-with: Bearer
  56. # 必须使用最少88位的Base64对该令牌进行编码
  57. base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=
  58. # 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
  59. token-validity-in-seconds: 7200000
  60. # 在线用户key
  61. online-key: online-token-
  62. # 验证码
  63. code-key: code-key-
  64. # token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
  65. detect: 1800000
  66. # 续期时间范围,默认 1小时,这里单位毫秒
  67. renew: 3600000
  68. #是否允许生成代码,生产环境设置为false
  69. generator:
  70. enabled: false
  71. #如果生产环境要开启swagger,需要配置请求地址
  72. #springfox:
  73. # documentation:
  74. # swagger:
  75. # v2:
  76. # host: # 接口域名或外网ip
  77. #是否开启 swagger-ui
  78. swagger:
  79. enabled: false
  80. # 文件存储路径
  81. file:
  82. mac:
  83. path: ~/file/
  84. avatar: ~/avatar/
  85. linux:
  86. path: /home/eladmin/file/
  87. avatar: /home/eladmin/avatar/
  88. windows:
  89. path: C:\eladmin\file\
  90. avatar: C:\eladmin\avatar\
  91. # 文件大小 /M
  92. maxSize: 100
  93. avatarMaxSize: 5

打包项目

我们需要将项目打包并且上传到服务器

打包项目:

后端部署 - 图1

上传到服务器

后端部署 - 图2

编写脚本

编写脚步操作 java 服务

(1) 启动脚本 start.sh

  1. nohup java -jar eladmin-system-2.4.jar --spring.profiles.active=prod &

(2) 停止脚本 stop.sh

  1. PID=$(ps -ef | grep eladmin-system-2.4.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文件,保存日志 nohup.out

  1. touch nohup.out

(4) 查看日志 log.sh

  1. tail -f nohup.out

(5) 完整目录如下图

QQ截图20191224120620.png

4、操作java服务:脚本创建完成后就可以操作 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. }