打包说明.txt 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. ======================================================
  2. 工资发放管理系统 - 生产环境打包说明
  3. ======================================================
  4. 版本: v1.0.1
  5. 打包日期: 2025-12-27
  6. ======================================================
  7. 一、打包前准备
  8. ======================================================
  9. 1. 确认系统功能测试通过
  10. 2. 确认数据库备份已完成
  11. 3. 准备生产环境服务器信息:
  12. - 服务器IP地址
  13. - MySQL数据库地址和端口
  14. - Redis地址和端口
  15. - 数据库用户名和密码
  16. ======================================================
  17. 二、后端打包
  18. ======================================================
  19. 1. 修改生产环境配置
  20. 文件: backend\src\main\resources\application-prod.yml
  21. 需要修改的配置项:
  22. - spring.datasource.druid.url (数据库地址)
  23. - spring.datasource.druid.username (数据库用户名)
  24. - spring.datasource.druid.password (数据库密码)
  25. - spring.redis.host (Redis地址)
  26. - spring.redis.password (Redis密码,如有)
  27. 2. 执行打包命令
  28. cd "d:\payroll system\backend"
  29. mvn clean package -DskipTests -Pprod
  30. 3. 打包产物
  31. 位置: backend\target\payroll-system-1.0.0.jar
  32. 大小: 约50-60MB
  33. ======================================================
  34. 三、前端打包
  35. ======================================================
  36. 1. 执行打包命令
  37. cd "d:\payroll system\frontend\payroll-web"
  38. npm run build
  39. 2. 打包产物
  40. 位置: frontend\payroll-web\dist\
  41. 内容:
  42. - index.html (入口文件)
  43. - assets\ (静态资源目录)
  44. ======================================================
  45. 四、部署文件清单
  46. ======================================================
  47. 需要上传到服务器的文件:
  48. 1. 后端部署包
  49. - payroll-system-1.0.0.jar
  50. 2. 前端部署包
  51. - dist目录下的所有文件
  52. 3. 数据库脚本
  53. - backend\src\main\resources\db\schema.sql
  54. - backend\src\main\resources\db\salary_schema.sql
  55. - backend\src\main\resources\db\attendance_schema.sql
  56. - backend\src\main\resources\db\payroll_schema.sql
  57. - backend\src\main\resources\db\insurance_schema.sql
  58. 4. 配置文件(可选)
  59. - application-prod.yml (如需外部配置)
  60. ======================================================
  61. 五、服务器部署步骤
  62. ======================================================
  63. 1. 安装运行环境
  64. - JDK 1.8+
  65. - MySQL 8.0
  66. - Redis 6.0+
  67. - Nginx (用于前端部署)
  68. 2. 创建数据库
  69. mysql -u root -p
  70. CREATE DATABASE payroll_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  71. 3. 导入数据库脚本
  72. mysql -u root -p payroll_system < schema.sql
  73. mysql -u root -p payroll_system < salary_schema.sql
  74. mysql -u root -p payroll_system < attendance_schema.sql
  75. mysql -u root -p payroll_system < payroll_schema.sql
  76. mysql -u root -p payroll_system < insurance_schema.sql
  77. 4. 部署后端
  78. # 创建部署目录
  79. mkdir -p /opt/payroll-system
  80. # 上传jar包到服务器
  81. scp payroll-system-1.0.0.jar user@server:/opt/payroll-system/
  82. # 启动后端服务
  83. cd /opt/payroll-system
  84. nohup java -jar payroll-system-1.0.0.jar --spring.profiles.active=prod > logs.log 2>&1 &
  85. 5. 部署前端
  86. # Nginx配置示例
  87. server {
  88. listen 80;
  89. server_name your-domain.com;
  90. root /var/www/payroll-web;
  91. index index.html;
  92. location / {
  93. try_files $uri $uri/ /index.html;
  94. }
  95. location /api/ {
  96. proxy_pass http://localhost:8080/api/;
  97. proxy_set_header Host $host;
  98. proxy_set_header X-Real-IP $remote_addr;
  99. }
  100. }
  101. # 上传前端文件
  102. scp -r dist/* user@server:/var/www/payroll-web/
  103. # 重启Nginx
  104. nginx -s reload
  105. ======================================================
  106. 六、验证部署
  107. ======================================================
  108. 1. 检查后端服务
  109. # 查看进程
  110. ps aux | grep payroll-system
  111. # 查看日志
  112. tail -f /opt/payroll-system/logs.log
  113. # 测试接口
  114. curl http://localhost:8080/api/auth/test-password
  115. 2. 检查前端访问
  116. 浏览器访问: http://your-domain.com
  117. 测试登录:
  118. - 用户名: admin
  119. - 密码: 123456
  120. 3. 检查数据库连接
  121. 查看后端日志中是否有数据库连接成功的信息
  122. ======================================================
  123. 七、常见问题
  124. ======================================================
  125. 1. 后端启动失败
  126. - 检查Java版本是否为1.8+
  127. - 检查数据库连接配置是否正确
  128. - 查看logs.log日志文件
  129. 2. 前端无法访问
  130. - 检查Nginx配置是否正确
  131. - 检查文件权限
  132. - 查看Nginx错误日志
  133. 3. 接口调用失败
  134. - 检查后端服务是否启动
  135. - 检查Nginx代理配置
  136. - 检查防火墙规则
  137. ======================================================
  138. 八、停止和重启服务
  139. ======================================================
  140. 停止后端服务:
  141. ps aux | grep payroll-system
  142. kill -9 <进程ID>
  143. 重启后端服务:
  144. cd /opt/payroll-system
  145. nohup java -jar payroll-system-1.0.0.jar --spring.profiles.active=prod > logs.log 2>&1 &
  146. 重启Nginx:
  147. nginx -s reload
  148. ======================================================
  149. 九、备份策略
  150. ======================================================
  151. 生产环境建议:
  152. 1. 每天凌晨自动备份数据库
  153. 2. 保留最近30天的备份
  154. 3. 每周完整备份一次并异地存储
  155. 自动备份脚本示例:
  156. #!/bin/bash
  157. DATE=$(date +%Y%m%d)
  158. mysqldump -u root -p数据库密码 payroll_system > /backup/payroll_${DATE}.sql
  159. find /backup -name "payroll_*.sql" -mtime +30 -delete
  160. ======================================================
  161. 联系方式:
  162. 部署负责人:
  163. 部署日期: 2025-12-27
  164. ======================================================