#!/bin/bash # 部署脚本 echo "开始部署 crawling-service..." # 1. 安装 Node.js 22.x echo "安装 Node.js 22.x..." curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt-get install -y nodejs # 2. 安装 PM2 echo "安装 PM2..." sudo npm install -g pm2 # 3. 安装项目依赖 echo "安装项目依赖..." npm install # 4. 创建环境变量文件 echo "创建环境变量文件..." cat > .env << EOL # 服务器配置 PORT=8991 HOST=0.0.0.0 NODE_ENV=production # 安全配置 ALLOWED_ORIGINS=http://your-domain.com # 爬虫配置 CRAWLER_TIMEOUT=60000 CRAWLER_RETRY_ATTEMPTS=3 CRAWLER_RETRY_DELAY=2000 # 日志配置 LOG_LEVEL=info LOG_FORMAT=combined # 上传配置 UPLOAD_URL=https://apibase.sohomall.jp/uploaders UPLOAD_SCENE=goods UPLOAD_TIMEOUT=30000 EOL # 5. 创建 screenshots 目录 echo "创建截图目录..." mkdir -p screenshots # 6. 使用 PM2 启动服务 echo "启动服务..." pm2 start src/server.js --name "crawling-service" --env production # 7. 保存 PM2 进程列表 echo "保存 PM2 进程列表..." pm2 save # 8. 设置开机自启 echo "设置开机自启..." pm2 startup echo "部署完成!"