我正在运行版本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
我希望这有帮助。