Python技巧
网站建设
向Mysql插入Emoji表情时失败了,python代码报以下异常:InternalError: 1366
将MYSQL数据库从一台服务器移植到另一台服务器
MYSQL数据库常用操作命令
Centos7,Centos8防火墙相关的命令
Centos7+nginx下为域名免费安装ssl证书
Centos7.5+nginx布署python3+django WEB服务器
js/jQuery技巧
VPS推荐
python+django开发网站时更新某个应用的models后如何重新生成数据表
CentOS7系统systemd设置nginx开机自启动
CentOS7下配置Supervisor自启动的方法
域名申请
NameSilo域名注册的流程
构建安卓APP
Android Studio 如何修改 Package Name
Android使用WebView加载网站,无法上传图片的解决方法
Android使用WebView将H5网站打包成apk,如何去掉标题,如何更换应用图标
CentOS7下配置Supervisor自启动的方法
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。
一,supervisor的下载: pip3 install supervisor 生成supervisor配置文件: echo_supervisord_conf 这会将“示例”Supervisor 配置文件打印到终端的标准输出。 echo_supervisord_conf > /etc/supervisord.conf 在 /etc 目录下生成配置文件:supervisord.conf vi /etc/supervisord.conf (编辑你要启动的进程) supervisord -v (查看版本) 配置 Supervisor服务中所需要的各项文件并启动 ! [root@PxeCtrlSys Supervisor]# supervisord -c tc/supervisord.conf 查看 Supervisor服务状态 supervisorctl status [root@jiufengsite ~]# supervisorctl daphne RUNNING pid 30381, uptime 0:02:43
二,vi /etc/supervisord.conf (编辑你要启动的进程 [unix_http_server] file=/tmp/supervisor.sock [supervisord] logfile=/tmp/supervisord.log logfile_maxbytes=50MB logfile_backups=10 loglevel=info pidfile=/tmp/supervisord.pid nodaemon=false silent=false [program:daphne] directory=/home/youmei #项目目录 command=daphne --proxy-headers youmei.asgi:application #启动命令 autostart=true autorestart=true stdout_logfile=/tmp/websocket.log #日志 redirect_stderr=true user=root
三,通过创建systemd services来实现自启动 找到supervisord及supervisorctl命令的路径 [root@localhost system]# which supervisord /usr/local/bin/supervisord [root@localhost system]# which supervisorctl /usr/local/bin/supervisorctl 新建一个supervisord.service 文件,将下列代码拷贝至"/usr/lib/systemd/system/supervisord.service" [Unit] Description=Supervisor daemon [Service] Type=forking ExecStart=/usr/local/bin/supervisord -c /etc/supervisord.conf ExecStop=/usr/local/bin/supervisorctl shutdown ExecReload=/usr/local/bin/supervisorctl reload KillMode=process Restart=on-failure RestartSec=0s [Install] WantedBy=multi-user.target
四,启用开机自启动服务 [root@localhost system]# systemctl enable supervisord Created symlink from /etc/systemd/system/multi-user.target.wants/supervisord.service to /usr/lib/systemd/system/supervisord.service 启动服务 [root@localhost ~]# systemctl start supervisord 验证一下是否为开机启动 [root@localhost system]# systemctl is-enabled supervisord enabled reboot重启服务器后,用:systemctl status supervisord 可以发现supervisor随服务器启动后自动启动了。如下所示:
五,查看服务状态 [root@localhost ~]# systemctl status supervisord ● supervisord.service - Supervisor daemon Loaded: loaded (/usr/lib/systemd/system/supervisord.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2021-11-11 11:11:36 CST; 12s ago Process: 3822 ExecStart=/usr/local/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS) Main PID: 3850 (supervisord) CGroup: /system.slice/supervisord.service ├─3850 /usr/local/bin/python3.8 /usr/local/bin/supervisord -c /etc/supervisord.conf ├─3916 uwsgi --ini /home/flask_web/uwsgi.ini ├─3918 uwsgi --ini /home/flask_web/uwsgi.ini └─3919 uwsgi --ini /home/flask_web/uwsgi.ini
六,Supervisor 常用命令 supervisorctl restart <application name> ;重启指定应用 supervisorctl stop <application name> ;停止指定应用 supervisorctl start <application name> ;启动指定应用 supervisorctl restart all ;重启所有应用 supervisorctl stop all ;停止所有应用 supervisorctl start all ;启动所有应用 修改文件一定要重启 supervisor supervisorctl reload supervisorctl reread # 重新读取配置 supervisorctl update # 更新配置
删除文章
展示文章
友情链接
生活小妙招
赚钱小秘籍
开心一刻