You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.7 KiB

3 months ago
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文件配置正确
- 确保数据库服务正常运行
*/