61 lines
1.3 KiB
Bash
61 lines
1.3 KiB
Bash
#!/bin/bash
|
||
|
||
# 重启保险后端服务脚本
|
||
|
||
echo "🔄 重启保险后端服务..."
|
||
|
||
# 设置工作目录
|
||
cd /var/www/insurance-backend
|
||
|
||
# 停止现有服务
|
||
echo "🛑 停止现有服务..."
|
||
pm2 stop insurance-backend 2>/dev/null || true
|
||
pkill -f "node.*src/app.js" 2>/dev/null || true
|
||
|
||
# 等待进程完全停止
|
||
sleep 3
|
||
|
||
# 检查端口是否被释放
|
||
if lsof -Pi :3000 -sTCP:LISTEN -t >/dev/null ; then
|
||
echo "⚠️ 端口3000仍被占用,强制停止..."
|
||
sudo fuser -k 3000/tcp 2>/dev/null || true
|
||
sleep 2
|
||
fi
|
||
|
||
# 启动服务
|
||
echo "🚀 启动服务..."
|
||
pm2 start ecosystem.config.js --env production
|
||
|
||
# 等待服务启动
|
||
echo "⏳ 等待服务启动..."
|
||
sleep 5
|
||
|
||
# 检查服务状态
|
||
echo "🔍 检查服务状态..."
|
||
pm2 status
|
||
|
||
# 测试API
|
||
echo "🧪 测试API..."
|
||
for i in {1..3}; do
|
||
if curl -s http://127.0.0.1:3000/health > /dev/null; then
|
||
echo "✅ API测试成功"
|
||
break
|
||
else
|
||
echo "⏳ 等待API启动... ($i/3)"
|
||
sleep 2
|
||
fi
|
||
done
|
||
|
||
# 保存PM2配置
|
||
pm2 save
|
||
|
||
echo ""
|
||
echo "✅ 服务重启完成!"
|
||
echo "📋 服务信息:"
|
||
echo " 服务名称: insurance-backend"
|
||
echo " 端口: 3000"
|
||
echo " 环境: production"
|
||
echo ""
|
||
echo "🔍 查看日志: pm2 logs insurance-backend"
|
||
echo "📊 监控面板: pm2 monit"
|