在windows下安装使用supervisor很简单。
安装:npm install -g supervisor 使用:supervisor ./bin/www
为什么使用supervisor配合express测试网站?
在windows下正常启用express使用命令:npm ./bin/www,但是一旦修改了页面后在刷新页面还是跟之前一样没有变化,这时候又要关闭express再次重启npm ./bin/www后才能看到刚刚修改的效果,反复着繁琐的动作,所以需要使用supervisor,一旦用supervisor来启动./bin/www,修改页面后就立马能看到效果。
如果你使用的是Linux 或Mac,直接键入上面的命令很可能会有权限错误。原因是npm
需要把supervisor 安装到系统目录,需要管理员授权。所以要这么安装:
sudo npm install -g supervisor
使用方法跟win一样
————————————————————————————————-
我第一次在ubuntu下也按照windows的步骤进行结果是不行的,ubuntu步骤如下:
安装:
sudo apt-get install supervisor
开启:
sudo /etc/init.d/supervisor start 或者 sudo service supervisor start
在/etc/supervisor/conf.d/目录下创建一个文件名为test.conf,内容为:
[program:test] command=node /home/xgllseo/桌面/www/bin/www user=root
其他案例:
[program:meta.txn.recover.on.error] command=/cas/bin/meta.txn.recover.on.error ; 被监控的进程路径 numprocs=1 ; 启动几个进程 directory=/cas/bin ; 执行前要不要先cd到目录去,一般不用 autostart=true ; 随着supervisord的启动而启动 autorestart=true ; 自动重启。。当然要选上了 startretries=10 ; 启动失败时的最多重试次数 exitcodes=0 ; 正常退出代码(是说退出代码是这个时就不再重启了吗?待确定) stopsignal=KILL ; 用来杀死进程的信号 stopwaitsecs=10 ; 发送SIGKILL前的等待时间 redirect_stderr=true ; 重定向stderr到stdout stdout_logfile=logfile ; 指定日志文件
重启supervisor,让配置文件生效,然后启动test进程:
sudo supervisorctl reload sudo supervisorctl start test
查看是否加载进程
sudo supervisorctl
如果有类似:
test RUNNING pid 5152, uptime 0:00:21
说明已经启用成功。
常用命令:
supervisorctl start programxxx,启动某个进程
supervisorctl restart programxxx,重启某个进程
supervisorctl stop groupworker: ,重启所有属于名为groupworker这个分组的进程(start,restart同理)
supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
supervisor启动和停止的日志文件存放在/var/log/supervisor/supervisord.log
注意:显式用stop停止掉的进程,用reload或者update都不会自动重启
学习参考:
http://blog.csdn.net/u012374229/article/details/47158435
———————————————————————————-
在ubuntu使用supervisor各种奇葩常见问题汇总:
《解决unix:///var/run/supervisor.sock no such file的方法》
《[Errno 13] Permission denied: ‘/usr/local/bin/node》
http://stackoverflow.com/questions/10716159/nginx-and-supervisor-setup-in-ubuntu