Files
xlxumu/scripts/start-server.sh
mapleaf bd379d505c ```
refactor(server): 更新服务器配置和部署脚本- 更改默认端口为3350,以适应生产环境。
- 增加了API信息端点,提供更详细的API状态信息。
- 提高了速率限制,以适应生产环境的更高请求量。
- 添加了错误处理中间件和404处理,增强了错误处理能力。
- 添加了优雅关机处理,确保服务器在接收到SIGINT或SIGTERM信号时能够优雅关闭。- 创建了生产环境配置文件示例 `.env.production.example`,并提供了详细的部署指南 `DEPLOYMENT_GUIDE.md`。
- 添加了启动脚本 `start-server.sh` 和同步脚本 `sync-to-server.sh`,简化了部署流程。
- 配置了Nginx配置文件 `xlxumu-api.conf`,支持HTTPS和反向代理。
```
2025-09-11 17:11:12 +08:00

75 lines
1.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 锡林郭勒盟智慧养殖平台 - 生产环境启动脚本
# 服务器目录: /data/nodejs/xlxumu/
TARGET_DIR="/data/nodejs/xlxumu"
APP_DIR="$TARGET_DIR/backend/api"
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${GREEN}🚀 启动锡林郭勒盟智慧养殖平台API服务${NC}"
# 检查Node.js是否安装
if ! command -v node &> /dev/null; then
echo -e "${RED}❌ Node.js未安装请先安装Node.js${NC}"
exit 1
fi
# 检查npm是否安装
if ! command -v npm &> /dev/null; then
echo -e "${RED}❌ npm未安装请先安装npm${NC}"
exit 1
fi
# 检查PM2是否安装
if ! command -v pm2 &> /dev/null; then
echo -e "${YELLOW}📦 安装PM2...${NC}"
npm install -g pm2
fi
# 进入应用目录
cd $APP_DIR
# 检查目录是否存在
if [ ! -d "$APP_DIR" ]; then
echo -e "${RED}❌ 应用目录不存在: $APP_DIR${NC}"
exit 1
fi
# 检查package.json是否存在
if [ ! -f "package.json" ]; then
echo -e "${RED}❌ package.json不存在${NC}"
exit 1
fi
# 安装依赖
echo -e "${YELLOW}📦 安装项目依赖...${NC}"
npm install --production
# 停止现有服务(如果存在)
echo -e "${YELLOW}🛑 停止现有服务...${NC}"
pm2 delete xlxumu-api 2>/dev/null || true
# 启动服务
echo -e "${YELLOW}🚀 启动API服务...${NC}"
pm2 start server.js --name xlxumu-api --env production
# 配置PM2开机自启
echo -e "${YELLOW}⚙️ 配置PM2开机自启...${NC}"
pm2 startup
pm2 save
# 显示服务状态
echo -e "${GREEN}✅ 服务启动完成!${NC}"
echo -e "${GREEN}📊 当前服务状态:${NC}"
pm2 status xlxumu-api
echo -e "${GREEN}🌐 API服务运行在: http://localhost:3350${NC}"
echo -e "${GREEN}📋 查看详细日志: pm2 logs xlxumu-api${NC}"
echo -e "${GREEN}🔄 重启服务: pm2 restart xlxumu-api${NC}"
echo -e "${GREEN}⏹️ 停止服务: pm2 stop xlxumu-api${NC}"