Когда я запускаю приложение Nodejs с pm2, другие пользователи сервера не могут получить доступ к этому процессу.
Даже если я запустил 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
, может перезапустить его... Странно.