5.1 KiB
5.1 KiB
活牛采购系统 - 后端部署文档
系统概述
本部署文档详细说明如何部署活牛采购智能数字化系统的后端服务,包括环境配置、文件上传、服务启动和Nginx配置等。
技术栈
- Node.js: >= 18.0.0
- 数据库: MySQL(直接使用生产环境数据库)
- Web服务器: Nginx(配置SSL)
- 进程管理: PM2
- API文档: Swagger 3.0(生产环境不禁用)
服务器配置
- 操作系统: CentOS
- 服务器地址: www.jiebanke.com
- 后端域名: wapi.yunniushi.cn
- 服务器目录: /data/nodejs/yunniushi/
- 后端端口: 4330
- 用户名: root
- 密码: Aiotjkl$7jk58s&12
部署前准备
1. 环境安装
在CentOS服务器上安装以下软件:
# 更新系统
sudo yum update -y
# 安装Node.js 18
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
# 安装PM2(全局)
sudo npm install -g pm2
# 安装Nginx
sudo yum install -y nginx
# 启动Nginx服务并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
# 安装Git(如果需要从代码仓库克隆代码)
sudo yum install -y git
2. 创建服务器目录结构
# 创建项目根目录
sudo mkdir -p /data/nodejs/yunniushi/
sudo chown -R $USER:$USER /data/nodejs/yunniushi/
# 创建日志目录
mkdir -p /data/nodejs/yunniushi/logs
# 创建SSL证书目录
mkdir -p /etc/nginx/ssl/wapi.yunniushi.cn/
3. 上传SSL证书
将SSL证书文件上传到服务器上的SSL证书目录:
- fullchain.pem -> /etc/nginx/ssl/wapi.yunniushi.cn/fullchain.pem
- privkey.pem -> /etc/nginx/ssl/wapi.yunniushi.cn/privkey.pem
文件同步与部署
方法一:使用同步脚本(推荐)
在本地项目目录中执行同步脚本,将代码上传到服务器:
# 给脚本添加执行权限
chmod +x sync_to_server.sh
# 执行同步脚本(脚本已预配置正确的服务器信息)
./sync_to_server.sh
方法二:手动上传文件
如果不使用同步脚本,可以手动将以下文件上传到服务器的 /data/nodejs/yunniushi/ 目录:
- app.js
- package.json
- package-lock.json
- .env
- ecosystem.config.js
- config/ 目录
- models/ 目录
- routes/ 目录
- start_server.sh
SSH连接问题排查
如果遇到SSH连接问题,可以使用专门的测试工具进行诊断:
# 给测试脚本添加执行权限
chmod +x test_ssh_connection.sh
# 执行SSH连接测试脚本
./test_ssh_connection.sh
此脚本会执行一系列测试,包括:
- DNS解析测试
- 网络连通性测试
- SSH端口开放测试
- 详细的SSH连接测试
- 提供故障排除建议
服务启动
在服务器上启动服务
- 登录到服务器:
ssh root@www.jiebanke.com
# 密码: Aiotjkl$7jk58s&12
- 进入项目目录:
cd /data/nodejs/yunniushi/
- 执行启动脚本:
# 给启动脚本添加执行权限
chmod +x start_server.sh
# 启动服务
./start_server.sh
手动启动(备选方法)
如果启动脚本出现问题,可以手动执行以下命令:
# 安装依赖
npm install --production
# 启动PM2管理的服务
npm run pm2:start
# 设置PM2开机自启
pm2 startup
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u $USER --hp $HOME
# 保存PM2配置
sudo pm2 save
Nginx配置
复制并激活Nginx配置文件
- 复制Nginx配置文件到Nginx配置目录:
# 在服务器上执行
cp /data/nodejs/yunniushi/nginx.conf /etc/nginx/conf.d/yunniushi_backend.conf
- 测试Nginx配置是否正确:
sudo nginx -t
- 重启Nginx服务:
sudo systemctl restart nginx
防火墙配置
如果服务器启用了防火墙,需要开放相关端口:
# 开放HTTPS端口(443)
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
服务管理命令
PM2常用命令
# 查看服务状态
npm run pm2:start
# 停止服务
npm run pm2:stop
# 重启服务
npm run pm2:restart
# 查看服务日志
pm2 logs niumall-backend
Nginx常用命令
# 启动Nginx
sudo systemctl start nginx
# 停止Nginx
sudo systemctl stop nginx
# 重启Nginx
sudo systemctl restart nginx
# 查看Nginx状态
sudo systemctl status nginx
# 查看Nginx日志
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log
访问测试
部署完成后,可以通过以下地址访问系统:
- API文档: https://wapi.yunniushi.cn/api/docs
- 健康检查: https://wapi.yunniushi.cn/health
- API接口: https://wapi.yunniushi.cn/api/[接口路径]
注意事项
- 确保服务器上的MySQL数据库已经正确配置,并且网络连接通畅。
- 根据实际情况修改.env文件中的数据库连接信息。
- 确保SSL证书文件路径与nginx.conf中的配置一致。
- 如果遇到端口冲突,需要修改配置文件中的端口号。
- 定期备份数据库和重要配置文件。
- 生产环境中,请确保JWT_SECRET和数据库密码等敏感信息安全。