module.exports = { apps: [ { // 应用名称 name: 'wechat-app', // 要运行的脚本 - 修正为正确的启动脚本 script: 'start-server.js', // 运行模式 - 设置为fork模式以避免端口冲突 exec_mode: 'fork', // 实例数量 instances: 1, // 自动重启 autorestart: true, // 监听文件变化(开发环境可设置为true) watch: false, // 内存限制,超过则重启 max_memory_restart: '1G', // 环境变量 env: { NODE_ENV: 'production', PORT: 3002 }, env_development: { NODE_ENV: 'development', PORT: 3002 }, // 日志配置 - 重要:这些配置确保PM2正确捕获和显示所有console.log输出 log_date_format: 'YYYY-MM-DD HH:mm:ss.SSS', error_file: './logs/error.log', out_file: './logs/output.log', merge_logs: true, combine_logs: false, // 确保不合并日志 log_file_max_size: '10MB', // 启用日志时间戳 time: true, // 自动重启策略 min_uptime: '60s', max_restarts: 10, restart_delay: 1000, // 环境变量文件加载 // PM2会自动加载应用目录下的.env文件 // 附加参数 args: [], // 启动超时时间 kill_timeout: 5000, // 启动前的钩子 pre_start: "echo 'Starting wechat-miniprogram-server...'", // 启动后的钩子 post_start: "echo 'wechat-miniprogram-server started successfully'", // 错误处理 error: './logs/process-error.log', // 合并stdout和stderr combine_logs: false } ], // 简化部署配置,用户可以根据实际情况修改 deploy: { production: { user: 'your-username', host: 'your-server-ip', ref: 'origin/master', repo: 'your-git-repository-url', path: '/path/to/your/app', 'post-deploy': 'npm install && pm2 reload ecosystem.config.js --env production' } } }; /* 使用说明: 1. 基本启动:pm2 start ecosystem.config.js 2. 开发环境启动:pm2 start ecosystem.config.js --env development 3. 查看状态:pm2 status 4. 查看日志:pm2 logs wechat-miniprogram-server 5. 监控应用:pm2 monit 6. 停止应用:pm2 stop wechat-miniprogram-server 7. 重启应用:pm2 restart wechat-miniprogram-server 8. 删除应用:pm2 delete wechat-miniprogram-server 9. 设置开机自启:pm2 startup && pm2 save 故障排除提示: - 如果应用启动失败,查看日志:pm2 logs wechat-miniprogram-server --lines 100 - 检查端口占用:lsof -i :3001 或 netstat -ano | findstr :3001 - 确保.env文件配置正确 - 确保数据库服务正常运行 */