簡體   English   中英

從 php 服務器重新啟動我的 nodejs 應用程序(使用 pm2)

[英]Restart my nodejs app (with pm2) from php server

我剛遇到一個問題,我正在使用 github 的 webhook(我用 php 寫了一個)。

問題是,我想從我的 php 代碼中使用 pm2 重新啟動我的 nodejs 應用程序,如下所示:

shell_exec("pm2 restart test");

但我的用戶:www-data (nginx) 無法執行它.. 當我嘗試以 www-data 身份登錄時,我得到了這個:

錯誤:EACCES,權限被拒絕 '/.pm2' at Error (native) at Object.fs.mkdirSync (fs.js:747:18) at Object.CLI.pm2Init (/usr/local/lib/node_modules/pm2/lib /CLI.js:40:8) 在對象。 (/usr/local/lib/node_modules/pm2/bin/pm2:21:5) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) ) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:501:10) at start (node.js) :129:16)

而且我不想使用“sudo”,因為它不是很干凈,你有什么想法嗎? 非常感謝您提前:)

運行命令時設置正確的HOME環境變量

$ HOME=/home/USER pm2 restart test

好吧,我有一個解決方案,它是固定的。

我只需要在此行中運行我的應用程序:

pm2 start app.js --watch

然后監視文件何時被修改並自動重新啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM