12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/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 "部署完成!"
|