Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NODE_LOG_DIR默认值导致无法获取到进程下的环境变量pm2_env.NODE_LOG_DIR #25

Open
AviorAlong opened this issue Oct 21, 2019 · 3 comments

Comments

@AviorAlong
Copy link

image

@peze
Copy link

peze commented Oct 21, 2019

PM2整个env加载进进程的时机跟alinode内部判断时机不同导致的这个问题,建议用

ENABLE_NODE_LOG=YES pm2 start 你的配置

这种形式来启动

@AviorAlong
Copy link
Author

PM2整个env加载进进程的时机跟alinode内部判断时机不同导致的这个问题,建议用

ENABLE_NODE_LOG=YES pm2 start 你的配置

这种形式来启动

启动方式应该没出入,NODE_LOG_DIR=/tmp/zm_v2 ENABLE_NODE_LOG=YES pm2 startOrReload pm2.json

env.NODE_LOG_DIR = env.NODE_LOG_DIR || pm2_env.NODE_LOG_DIR;
这一行中pm2_env.NODE_LOG_DIR的用意是什么,我理解的是获取不到env.NODE_LOG_DIR,就去获取pm2_env.NODE_LOG_DIR,
但是 var env = {ENABLE_NODE_LOG: '', NODE_LOG_DIR: '/tmp'};给予了env.NODE_LOG_DIR默认值,
我们使用过程中确实存在env.NODE_LOG_DIR 不存在,但pm2_env.NODE_LOG_DIR存在的情况,
这样就导致无法通过路径校验,只有将pm2 kill掉之后,再启动,env.NODE_LOG_DIR才能获取到正确的环境变量

@peze
Copy link

peze commented Oct 21, 2019

嗯。。这样来看这里确实有些问题,最近会修改一下这里的逻辑,让env先找pm2_env,如果没有再用'/tmp'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants