修改日志路径不生效
今天在用pm2部署时遇到一个问题,修改pm2配置文件后不生效。我的配置文件用的是json格式的(ecosystem.json),增加日志路径后重启,日志路径还是原来的路径。
//ecosystem.json 配置文件
{"name" : "djxt","script" : "./bin/www.js","cwd" : "./","watch": ["bin","routers"],"ignore_watch" : ["node_modules", "logs","public"],"watch_options": {"followSymlinks": false},"env": {"NODE_ENV": "production"},"env_test": {"NODE_ENV": "testing"}
}
复制代码
上面的代码是刚开始的配置,开启pm2后,这时执行 pm2 list 可看到如下:
修改pm2配置文件的日志路径
接下来增加日志路径
//ecosystem.json 配置文件
{"name" : "djxt","script" : "./bin/www.js","cwd" : "./","watch": ["bin","routers"],"ignore_watch" : ["node_modules", "logs","public"],"watch_options": {"followSymlinks": false},"env": {"NODE_ENV": "production"},"env_test": {"NODE_ENV": "testing"},"error" : "./logs/app-err.log", //错误日志路径"output" : "./logs/app-out.log", //正常日志路径"merge_logs": true, // 设置追加日志而不是新建日志 "log_date_format": "YYYY-MM-DD HH:mm:ss" // 指定日志文件的时间格式
}
复制代码
注意,这时候执行 pm2 reload 0 后配置是不会生效的,需要将pm2进程杀掉重新开启才能生效。 执行 pm2 delete 0 (这里的0是对呀pm2列表的id,如果要将全部进程关掉,可以把0改成all),再重新开启pm2进程,如下图: