【发布时间】:2015-11-17 15:34:27
【问题描述】:
当我使用pm2 启动我的 Nodejs 应用程序时,其他服务器用户无法访问该进程。
即使我从自定义目录启动 pm2(不是当前用户的 ~/,pm2 默认使用的是什么):
HOME=/var/www pm2 start app.js
任何用户都可以访问目录(与 ~/ 相比,但其他服务器用户仍然无法访问该进程。
当其他服务器用户执行pm2 list 时,它显示他有 0 个进程正在运行 - 但有(由另一个用户启动)。而当其他用户尝试HOME=/var/www pm2 list 时,CLI 会抛出错误:
events.js:72
throw er; // Unhandled 'error' event
^
Error: connect EACCES
at errnoException (net.js:905:11)
at Object.afterConnect [as oncomplete] (net.js:896:19)
所以我想知道如何确保用户能够访问其他服务器用户运行的 pm2 进程?还是应该采取不同的方法?
我想知道为什么每个服务器用户都可以使用git pull 来部署 Git 存储库中的最新源代码,但之后无法重新启动 pm2 进程?只有启动pm2 进程的用户才能重新启动它……很奇怪。
【问题讨论】:
-
一个pm2实例只属于启动它的用户。
-
@Nik Sumeiko,根据描述,你不应该在这篇文章中添加永久标签。
标签: node.js server pm2 multiple-users