如何使用 node.js npm 脚本设置 Supervisor 3.3.1

如何使用 node.js npm 脚本设置 Supervisor 3.3.1

我正在运行版本3.3.1

我的文件部分/etc/supervisor/supervisord.conf

[program:node]
directory=/srv/www
command=npm run demo
autostart=true
autorestart=true

package.json我的脚本文件部分如下:

"demo": "npm run prod",
"prod": "NODE_ENV=production NODE_PATH=\"$(pwd)\" node src/index.js"

我尝试通过关闭节点程序supervisorctl,但是问题仍然存在。

root@dev-demo-karl:/srv/www# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.2  0.8  50280 18404 ?        Ss   08:43   0:00 /usr/bin/python /usr/bin/supervisord
root         8  0.2  2.4 1003412 49456 ?       Sl   08:43   0:00 npm
root        16  0.9  2.3 295224 47704 ?        SLl  08:43   0:02 /usr/bin/mongod --auth --fork --smallfiles --logpath /var/log/mongodb.log
root        44  0.0  0.0   4512   808 ?        S    08:43   0:00 sh -c npm run prod
root        45  0.2  2.4 1003924 49628 ?       Sl   08:43   0:00 npm
root        56  0.0  0.0   4512   716 ?        S    08:43   0:00 sh -c NODE_ENV=production NODE_PATH="$(pwd)" node src/index.js
root        60  1.5  7.0 1069880 145108 ?      Sl   08:43   0:04 node src/index.js
root        96  0.0  0.1  18244  3340 ?        Ss   08:44   0:00 bash
root       134  0.0  0.1  34424  2896 ?        R+   08:48   0:00 ps aux
root@dev-demo-karl:/srv/www# supervisorctl
mongod                           FATAL     Exited too quickly (process log may have details)
node                             RUNNING   pid 8, uptime 0:05:04
supervisor> stop node
node: stopped
supervisor> status
mongod                           FATAL     Exited too quickly (process log may have details)
node                             STOPPED   May 05 08:48 AM
supervisor> exit
root@dev-demo-karl:/srv/www# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.2  0.9  50280 18448 ?        Ss   08:43   0:00 /usr/bin/python /usr/bin/supervisord
root        16  0.9  2.3 296324 47704 ?        SLl  08:43   0:03 /usr/bin/mongod --auth --fork --smallfiles --logpath /var/log/mongodb.log
root        45  0.2  2.4 1003924 49628 ?       Sl   08:43   0:00 npm
root        56  0.0  0.0   4512   716 ?        S    08:43   0:00 sh -c NODE_ENV=production NODE_PATH="$(pwd)" node src/index.js
root        60  1.4  7.0 1069880 143996 ?      Sl   08:43   0:04 node src/index.js
root        96  0.0  0.1  18244  3340 ?        Ss   08:44   0:00 bash
root       136  0.0  0.1  34424  2892 ?        R+   08:48   0:00 ps aux

我想知道如何正确使用 node npm 脚本设置主管。互联网指南只显示了我上面所做的操作。我无法控制停止/启动它。

答案1

我通过在 package.json 中创建一个脚本来解决这个问题,如下所示:

...
"scripts": {
    "start-continuous": "supervisor server/server.js",
},
...

如果你在全局范围内安装了主管,这将会起作用。

npm install supervisor -g

现在我要做的就是:npm run start-continuous

我希望这有帮助。

相关内容