feat(deploy): 更新后端 API 域名并添加部署指南
- 将后端 API域名从 https://api.jiebanke.com 改为 https://webapi.jiebanke.com - 新增 CentOS 服务器部署指南和相关脚本 - 更新环境变量配置和 API 文档中的示例 URL
This commit is contained in:
78
deploy-backend.sh
Normal file
78
deploy-backend.sh
Normal file
@@ -0,0 +1,78 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 后端部署脚本 - 部署到CentOS服务器
|
||||
# 目标服务器: 1.13.156.49
|
||||
# 目标目录: /data/nodejs/jiebanke
|
||||
|
||||
# 配置参数
|
||||
LOCAL_DIR="/Users/ainongkeji/code/vue/jiebanke/backend"
|
||||
REMOTE_USER="root"
|
||||
REMOTE_HOST="1.13.156.49"
|
||||
REMOTE_DIR="/data/nodejs/jiebanke"
|
||||
|
||||
# 检查本地目录是否存在
|
||||
if [ ! -d "$LOCAL_DIR" ]; then
|
||||
echo "错误:本地目录 $LOCAL_DIR 不存在!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查Node.js环境
|
||||
if ! command -v node &> /dev/null; then
|
||||
echo "错误:本地Node.js环境未安装!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 安装生产依赖
|
||||
cd "$LOCAL_DIR"
|
||||
echo "安装生产依赖..."
|
||||
npm install --production
|
||||
|
||||
# 使用 rsync 上传文件到服务器
|
||||
echo "开始上传后端文件到远程服务器..."
|
||||
rsync -avz --progress --delete \
|
||||
--exclude 'node_modules' \
|
||||
--exclude '.git' \
|
||||
--exclude '.env' \
|
||||
--exclude 'logs' \
|
||||
--exclude 'uploads' \
|
||||
--include 'ecosystem.config.js' \
|
||||
"$LOCAL_DIR/" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"
|
||||
|
||||
# 在服务器上执行部署后命令
|
||||
echo "在远程服务器上执行部署命令..."
|
||||
ssh "$REMOTE_USER@$REMOTE_HOST" << EOF
|
||||
cd "$REMOTE_DIR"
|
||||
|
||||
# 安装生产依赖
|
||||
echo "在服务器上安装依赖..."
|
||||
npm install --production
|
||||
|
||||
# 使用PM2重启应用
|
||||
if command -v pm2 &> /dev/null; then
|
||||
echo "使用PM2重启应用..."
|
||||
if [ -f "ecosystem.config.js" ]; then
|
||||
pm2 reload ecosystem.config.js --env production
|
||||
pm2 save
|
||||
else
|
||||
pm2 restart jiebanke-backend || pm2 start src/server.js --name "jiebanke-backend" --env production
|
||||
fi
|
||||
else
|
||||
echo "PM2未安装,使用node直接启动..."
|
||||
pkill -f "node.*server.js" || true
|
||||
NODE_ENV=production nohup node src/server.js > server.log 2>&1 &
|
||||
fi
|
||||
|
||||
# 检查服务状态
|
||||
echo "检查服务状态..."
|
||||
sleep 3
|
||||
if command -v pm2 &> /dev/null; then
|
||||
pm2 status
|
||||
else
|
||||
ps aux | grep "node.*server.js" | grep -v grep
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo "后端部署完成!"
|
||||
echo "服务器地址: $REMOTE_HOST"
|
||||
echo "部署目录: $REMOTE_DIR"
|
||||
echo "应用应该运行在端口 3000 上"
|
||||
Reference in New Issue
Block a user