x.X.supervisor简易版部署
- 下载superviosr, 本机默认使用python2进行setup
wget --no-check-certificate https://pypi.python.org/packages/source/s/supervisor/supervisor-3.0.tar.gz
tar -zxvf supervisor-3.0.tar.gz
cd supervisor-3.0
python setup.py install
- 目录结构
/root/etc
├── supervisor
│ ├── conf.d
│ └── var
│ ├── log
└── supervisord.conf
- 创建目录结构:
mkdir -p ~/etc/supervisor/conf.d
mkdir -p ~/etc/supervisor/var/log
- 生成supervisor默认配置文件
cd ~/etc
echo_supervisord_conf > supervisord.conf
-
进入superviosrd配置可以参照:https://www.cnblogs.com/xujunkai/p/12332834.html
-
编辑自定义supervisor配置
vim ~/etc/mysupervisor.conf
- 配置如下
# socket 启动服务
[program:websocketserver];我的websocekt服务启动
directory=/opt/env/bin/
command=/opt/env/bin/python3 /opt/bracelet_backstage/bracelet_serve.py run
stdout_logfile=/root/etc/supervisor/var/log/mysql-stdout.log
stderr_logfile=/root/etc/supervisor/var/log/mysql-stderr.log
numprocs=1
autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 600
priority=15
# celery启动服务
[program:celeryworker]
directory=/opt/bracelet_backstage
command=/opt/env/bin/python3 -m celery worker -A bracelet_serve.celery --loglevel=info --logfile="/opt/celeryLog/celerylog.log"
stdout_logfile=/root/etc/supervisor/var/log/celery-stdout.log
stderr_logfile=/root/etc/supervisor/var/log/celery-stderr.log
process_name=%(program_name)s_%(process_num)02d
numprocs=1
autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 600
priority=15
[supervisord]
loglevel=info ; (log level;default info; others: debug,warn,trace)
[inet_http_server]
port = :9001
username=root
password=123
[supervisorctl]
serverurl = http://0.0.0.0:9001# 这里直接可以通过web管理我服务的进程
username=root
passowrd=123
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
- 环境变量配置
vi /etc/profile
export PATH=$PATH:/usr/bin/supervisord
export PATH=$PATH:/usr/bin/supervisorctl
- 启动supervisor
先执行
supervisord -c ~/etc/mysupervisor.conf
开启交互模式管理
supervisorctl -c ~/etc/mysupervisor.conf
- 输入账号密码
-
管理进程
stop 进程名字 #关闭进程
start 进程名字 #开启进程
status #查看进程状态
- web页面管理进程:
http://<IP>:9001/
再输入用户名密码,如下图
- 查询superviosr启动状态
ps -ef | grep supervisor
- 杀死supervisor
pkill -9 -f supervisor
- 查询端口占用
netstat -anp | grep 端口号