前言
最近一直在搞 SS 服务端的搭建,有时如果 SS 程序崩溃的话,还需要我们进入终端进行启动,有时人在外面难免不方便。
Supervisor 是一个用 Python 写的进程管理工具,可以用来启动、重启、关闭进程。我们把需要守护的程序加入 Supervisor ,当程序出现问题时就可以自动重启程序,方便省心了不少。
安装
我的系统环境是 centos 7 x 64,其他系统请自行更换相关命令。
安装
1 | yum install supervisor |
在 /etc/
目录下新建配置文件
1 | echo_supervisord_conf > /etc/supervisord.conf |
修改配置文件
1 | vi /etc/supervisord.conf |
在末尾加入配置信息
1 2 3 4 5 6 7 | [program:shadowsocks] command = python /root/shadowsocks-rm/shadowsocks/servers.py # 程序启动命令 user = root autostart = true autorestart = true stderr_logfile = /var/log/shadowsocks.log # 日志文件位置 stdout_logfile = /var/log/shadowsocks_error.log # 日志文件位置 |
保存退出即可。
使用
直接启动 supervisor
1 | supervisord |
或者指定配置文件启动
1 | supervisord -c /etc/supervisord.conf |
打开 supervisor 命令行
1 | supervisorctl |
进入交互命令行,可以输入 help
查看可用命令。
常用命令
1 2 3 4 5 | supervisorctl status # 查看状态 supervisorctl stop shadowsocks # 停止 shadowsocks supervisorctl start shadowsocks # 打开 supervisorctl restart shadowsocks # 重启 supervisorctl reload # 重载配置文件 |
Web管理界面
打开配置文件
1 | vi /etc/supervisord.conf |
找到 [inet_http_server]
那部分,修改如下(前面的“分号”去掉)
1 2 3 4 5 6 7 | [inet_http_server] ; inet (TCP) server disabled by default # 端口(9001)可自行设置,但要避免和已用端口冲突 port = *:9001 ; (ip_address:port specifier, *:port for all iface) # 登陆用户名 username = user ; (default is no username (open server)) # 登陆密码 password = 123456 ; (default is no password (open server)) |
保存退出。重新载入配置文件即可:supervisorctl reload
可以打开 ip:端口
(如:0.0.0.0:9001)在网页上进行进程的查看和管理。
结语
使用 supervisor 当程序意外终止崩溃时能自动进行重启,使程序始终处于运行状态,我们也能省心不少。
Go 2 Think 原创文章,转载请注明来源及原文链接