侧边栏壁纸
  • 累计撰写 60 篇文章
  • 累计收到 10 条评论

supervisor管理项目进程。golang/python项目自动启动

2024-2-18 / 0 评论 / 498 阅读
温馨提示:
本文最后更新于 2024-2-18,已超过半年没有更新,若内容或图片失效,请留言反馈。

1,安装(必须安装python的环境)

pip install supervisor

2 生成默认的配置文件 建议放在自建配置目

cd /etcmkdir supervisorcd supervisorecho_supervisord_conf > supervisor.conf # 生成 supervisor 默认配置文件

3.修改配置文件 启动一定指定配置文件绝对路径

vim supervisor.conf # 修改 supervisor 配置文件,添加 gunicorn 进程管理在 supervisor.conf 配置文件底部添加 [program:myapp] 进程管理名称随便拟定 有时候和项目启动脚本重复时 会出现Bugcommand=/home/myproject/venv/bin/gunicorn -w4 -b0.0.0.0:8080 app:app ; supervisor启动命令directory=/home/myproject ; 项目的文件夹路径startsecs=0 ; 启动时间stopwaitsecs=0 ; 终止等待时间autostart=false ; 是否自动启动autorestart=false ; 是否自动重启stdout_logfile=/home/myproject/log/gunicorn.log ; log 日志stderr_logfile=/home/myproject/log/gunicorn.err ; 错误日志

4 配置 web 管理界面

supervisor 还有一个 web 的管理界面,可以激活。更改下配置 客户端 (ctl 表示客户端 **d 表示服务端)[inet_http_server] ; inet (TCP) server disabled by defaultport=127.0.0.1:9001 ; (ip_address:port specifier, *:port for alliface)username=wang ; (default is no username (open server) 登录客户端的账号password=123 ; (default is no password (open server)) 登录客户端的密码 随便拟定 服务端与下面客户端配置必须一致[supervisorctl]serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socketserverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socketusername=wang ; should be same as http_username if setpassword=123 ; should be same as http_password if set;prompt=mysupervisor ; cmd line prompt (default "supervisor");history_file=~/.sc_history ; use readline history if available

5 启动服务

supervisord -c /etc/supervisor/supervisord.conf 启动 同时启动的客户端和服务端进入客户端supervisorctl -c /etc/supervisor/supervisord.conf1 基本操作 helpstatus 察看supervisor的状态reload 重新载入 配置文件start [all]|[appname] 启动指定/所有 supervisor管理的程序进程stop [all]|[appname] 关闭指定/所有 supervisor管理的程序进程2 直接操作 supervisorctl -c /etc/supervisor/supervisord.conf status 察看supervisor的状态supervisorctl -c /etc/supervisor/supervisord.conf reload 重新载入 配置文件supervisorctl -c /etc/supervisor/supervisord.conf start [all]|[appname] 启动指定/所有 supervisor管理的程序进程supervisorctl -c supervisor.conf stop [all]|[appname] 关闭指定/所有 supervisor管理的程序进程 

评论一下?

OωO
取消