| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- ======================================================
- 工资发放管理系统 - 生产环境打包说明
- ======================================================
- 版本: v1.0.1
- 打包日期: 2025-12-27
- ======================================================
- 一、打包前准备
- ======================================================
- 1. 确认系统功能测试通过
- 2. 确认数据库备份已完成
- 3. 准备生产环境服务器信息:
- - 服务器IP地址
- - MySQL数据库地址和端口
- - Redis地址和端口
- - 数据库用户名和密码
- ======================================================
- 二、后端打包
- ======================================================
- 1. 修改生产环境配置
- 文件: backend\src\main\resources\application-prod.yml
-
- 需要修改的配置项:
- - spring.datasource.druid.url (数据库地址)
- - spring.datasource.druid.username (数据库用户名)
- - spring.datasource.druid.password (数据库密码)
- - spring.redis.host (Redis地址)
- - spring.redis.password (Redis密码,如有)
- 2. 执行打包命令
- cd "d:\payroll system\backend"
- mvn clean package -DskipTests -Pprod
- 3. 打包产物
- 位置: backend\target\payroll-system-1.0.0.jar
- 大小: 约50-60MB
- ======================================================
- 三、前端打包
- ======================================================
- 1. 执行打包命令
- cd "d:\payroll system\frontend\payroll-web"
- npm run build
- 2. 打包产物
- 位置: frontend\payroll-web\dist\
- 内容:
- - index.html (入口文件)
- - assets\ (静态资源目录)
- ======================================================
- 四、部署文件清单
- ======================================================
- 需要上传到服务器的文件:
- 1. 后端部署包
- - payroll-system-1.0.0.jar
- 2. 前端部署包
- - dist目录下的所有文件
- 3. 数据库脚本
- - backend\src\main\resources\db\schema.sql
- - backend\src\main\resources\db\salary_schema.sql
- - backend\src\main\resources\db\attendance_schema.sql
- - backend\src\main\resources\db\payroll_schema.sql
- - backend\src\main\resources\db\insurance_schema.sql
- 4. 配置文件(可选)
- - application-prod.yml (如需外部配置)
- ======================================================
- 五、服务器部署步骤
- ======================================================
- 1. 安装运行环境
- - JDK 1.8+
- - MySQL 8.0
- - Redis 6.0+
- - Nginx (用于前端部署)
- 2. 创建数据库
- mysql -u root -p
- CREATE DATABASE payroll_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 3. 导入数据库脚本
- mysql -u root -p payroll_system < schema.sql
- mysql -u root -p payroll_system < salary_schema.sql
- mysql -u root -p payroll_system < attendance_schema.sql
- mysql -u root -p payroll_system < payroll_schema.sql
- mysql -u root -p payroll_system < insurance_schema.sql
- 4. 部署后端
- # 创建部署目录
- mkdir -p /opt/payroll-system
-
- # 上传jar包到服务器
- scp payroll-system-1.0.0.jar user@server:/opt/payroll-system/
-
- # 启动后端服务
- cd /opt/payroll-system
- nohup java -jar payroll-system-1.0.0.jar --spring.profiles.active=prod > logs.log 2>&1 &
- 5. 部署前端
- # Nginx配置示例
- server {
- listen 80;
- server_name your-domain.com;
-
- root /var/www/payroll-web;
- index index.html;
-
- location / {
- try_files $uri $uri/ /index.html;
- }
-
- location /api/ {
- proxy_pass http://localhost:8080/api/;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- }
- }
-
- # 上传前端文件
- scp -r dist/* user@server:/var/www/payroll-web/
-
- # 重启Nginx
- nginx -s reload
- ======================================================
- 六、验证部署
- ======================================================
- 1. 检查后端服务
- # 查看进程
- ps aux | grep payroll-system
-
- # 查看日志
- tail -f /opt/payroll-system/logs.log
-
- # 测试接口
- curl http://localhost:8080/api/auth/test-password
- 2. 检查前端访问
- 浏览器访问: http://your-domain.com
-
- 测试登录:
- - 用户名: admin
- - 密码: 123456
- 3. 检查数据库连接
- 查看后端日志中是否有数据库连接成功的信息
- ======================================================
- 七、常见问题
- ======================================================
- 1. 后端启动失败
- - 检查Java版本是否为1.8+
- - 检查数据库连接配置是否正确
- - 查看logs.log日志文件
- 2. 前端无法访问
- - 检查Nginx配置是否正确
- - 检查文件权限
- - 查看Nginx错误日志
- 3. 接口调用失败
- - 检查后端服务是否启动
- - 检查Nginx代理配置
- - 检查防火墙规则
- ======================================================
- 八、停止和重启服务
- ======================================================
- 停止后端服务:
- ps aux | grep payroll-system
- kill -9 <进程ID>
- 重启后端服务:
- cd /opt/payroll-system
- nohup java -jar payroll-system-1.0.0.jar --spring.profiles.active=prod > logs.log 2>&1 &
- 重启Nginx:
- nginx -s reload
- ======================================================
- 九、备份策略
- ======================================================
- 生产环境建议:
- 1. 每天凌晨自动备份数据库
- 2. 保留最近30天的备份
- 3. 每周完整备份一次并异地存储
- 自动备份脚本示例:
- #!/bin/bash
- DATE=$(date +%Y%m%d)
- mysqldump -u root -p数据库密码 payroll_system > /backup/payroll_${DATE}.sql
- find /backup -name "payroll_*.sql" -mtime +30 -delete
- ======================================================
- 联系方式:
- 部署负责人:
- 部署日期: 2025-12-27
- ======================================================
|