Я только что получил проблему, я использую webhook для github (я написал один в php).
Проблема, я хочу перезапустить мое приложение nodejs с pm2 из моего php-кода примерно так:
shell_exec("pm2 restart test");
но мой пользователь: www-data (nginx) не может выполнить его .. Когда я пытаюсь войти в систему как www-data, я получаю это:
Ошибка: EACCES, отказано в разрешении ‘/.pm2’
по ошибке (родной)
на Object.fs.mkdirSync (fs.js: 747: 18)
в Object.CLI.pm2Init (/usr/local/lib/node_modules/pm2/lib/CLI.js:40:8)
на объекте. (/ USR / местные / Библиотека / node_modules / PM2 / бен / PM2: 21: 5)
в Module._compile (module.js: 460: 26)
в Object.Module._extensions..js (module.js: 478: 10)
в Module.load (module.js: 355: 32)
в Function.Module._load (module.js: 310: 12)
в Function.Module.runMain (module.js: 501: 10)
при запуске (node.js: 129: 16)
И я не хочу использовать «sudo», потому что он не очень чистый, у вас есть идея? Большое спасибо заранее 🙂
Ну, у меня есть решение, оно исправлено.
Мне просто нужно было запустить мое приложение с этой строкой:
pm2 start app.js --watch
Затем он наблюдает за изменением файла и автоматически перезапускает его.
Других решений пока нет …