部署包目录结构
safety-deploy/
├── safety-server.tar # 后端镜像
├── safety-web.tar # 前端镜像
├── init_db.sql # 数据库初始化脚本(建表 + 初始数据)
├── uploads/ # 上传文件目录(挂载到容器)
├── docker-compose.yml # 部署文件(外接已有 MySQL)
├── docker-compose-with-mysql.yml # 部署文件(自带 MySQL)
├── .env.example # 环境变量模板
└── 部署说明.md # 本文件
前置要求
-
Docker 和 Docker Compose 已安装
-
磁盘空间至少 500MB(镜像约 160MB)
-
操作系统:Linux(推荐 Ubuntu 20.04+ / CentOS 7+)
方案一:自带 MySQL 部署(推荐,无需额外准备数据库)
步骤 1:复制部署包到目标服务器
scp -r safety-deploy root@目标服务器IP:/opt/
步骤 2:进入部署目录
cd /opt/safety-deploy
步骤 3:导入 Docker 镜像
docker load -i safety-server.tar
docker load -i safety-web.tar
步骤 4:配置端口和数据库密码(可选)
# 默认 Web 端口 8080,默认数据库密码 Safety@2026
# 如需修改,复制 .env.example 为 .env 并编辑:
cp .env.example .env
vim .env
步骤 5:启动服务
# 使用自带 MySQL 的配置
docker compose -f docker-compose-with-mysql.yml up -d
步骤 6:验证
打开浏览器访问 http://服务器IP:8080,看到登录页面即部署成功。
默认账号
| 账号 | 密码 | 角色 |
|---|---|---|
| admin | 123456 | 系统管理员 |
| safety1 | 123456 | 安全员 |
| user1 | 123456 | 普通用户 |
方案二:外接已有 MySQL 部署
适用场景:目标服务器已有 MySQL 服务,希望共用数据库。
步骤 1-3:同上(复制、解包、导入镜像)
步骤 4:在 MySQL 中创建数据库
-- 连接到你的 MySQL,执行:
CREATE DATABASE IF NOT EXISTS safety_db
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
步骤 5:初始化数据库表
# 从部署目录执行(需要能连上目标 MySQL)
mysql -h 127.0.0.1 -u root -p safety_db < init_db.sql
或者手动登录 MySQL 后执行 source /path/to/init_db.sql;
步骤 6:配置 .env
cp .env.example .env
vim .env
修改 .env 中的数据库连接信息:
DB_HOST=127.0.0.1 # MySQL 所在服务器 IP
DB_PORT=3306 # MySQL 端口
DB_USER=root # 数据库用户名
DB_PASS=你的MySQL密码 # 数据库密码
WEB_PORT=8080 # Web 访问端口
步骤 7:启动服务
docker compose up -d
步骤 8:验证
打开浏览器访问 http://服务器IP:8080
常用运维命令
# 查看运行状态
docker compose ps
# 查看后端日志
docker logs -f safety-server
# 查看前端日志
docker logs -f safety-web
# 重启服务
docker compose restart
# 停止服务
docker compose down
# 完全清理(含数据卷,慎用!)
docker compose down -v
端口冲突处理
如果 8080 端口被占用,修改 .env 中的 WEB_PORT:
WEB_PORT=9090
重启服务即可。
防火墙配置
如果服务器开启了防火墙,需放行对应端口:
# firewalld
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
# ufw
ufw allow 8080/tcp
升级说明
当有新版本时:
# 1. 停止旧服务
docker compose down
# 2. 导入新镜像
docker load -i safety-server.tar
docker load -i safety-web.tar
# 3. 启动新服务
docker compose up -d
数据库备份
# 备份数据库
docker exec safety-mysql mysqldump -u root -pSafety@2026 safety_db > backup_$(date +%Y%m%d).sql
# 备份上传文件
tar -czf uploads_backup_$(date +%Y%m%d).tar.gz uploads/
© 版权声明
本站所有内容均来源于网络,仅供学习与参考,请勿商业运营,严禁从事违法、侵权等任何非法活动,否则您将自行承担后果。
本站内容观点不代表本站立场,并不代表本站赞同其观点和对其真实性负责
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解! 邮件:admin@milpp.com
THE END















暂无评论内容