내 머리를 벽에 부딪치게합니다. 문제는 pm2와 "--nouse-idle-notification"또는 "--max-old-space-size = 2048"과 같은 환경 변수로 노드를 시작하려고합니다.pm2 (시스템 및 전달 노드 인수 포함)
그러나 내가하는 일은 노드 변수를 전달하지 않습니다. mp2와 설정 파일로 앱을 시작합니다. 구성 파일과 같이 보인다 :
pm2 restart pathtojsonfile --env production
모두는 다음과 같습니다
{
"apps" : [{
"env": {
"NODE_PATH": "/usr/bin/node",
"interpreter_args": "--max-old-space-size=2048 --nouse-idle-notification"
},
"env_development": {
"NODE_ENV": "development"
},
"env_production" : {
"NODE_ENV": "production",
"APP_TYPE": "web"
},
"exec_mode" : "fork",
"name" : "MyApp",
"script" : "/opt/myapp/app.js",
"watch" : false,
"out_file" : "/var/log/app.log",
"error_file" : "/var/log/app.log",
"combine_logs": true,
"node_args": "--max-old-space-size=2048 --nouse-idle-notification",
"args": "--max-old-space-size=2048 --nouse-idle-notification"
}]
}
그때와 응용 프로그램을 시작
(당신은 내가 여러 가지 방법으로 노드 변수를 전달하려고 볼 수 있습니다) 제대로 시작하고 내 코드에서 "MY_APP"와 같은 변수를 볼 수 있습니다. 그러나, 지금은 함께 과정을 볼 때 "최고"나는 단지 참조 :
node /opt/myapp/app.js
내가 영원히 함께 응용 프로그램을 시작할 때 또는 수동으로 내가 같은 과정을 볼 수 있습니다
node --max-old-space-size=2048 --nouse-idle-notification /opt/myapp/app.js
을 PM2 그냥가요 노드 인수를 표시하지 않거나 실제로 전달되지 않았습니까? (pm2 프로세스가 메모리를 적게 차지함)
도움을 주시면 감사하겠습니다. 고맙습니다.
pm2와 함께 사용중인'systemd''.service' 파일의 내용을 포함하십시오. –