当前位置: 首页 > 后端技术 > Python

supervisor安装及基本操作(含配置gunicorn)

时间:2023-03-26 12:48:59 Python

supervisor1.安装supervisor安装注意:以下所有操作均在CentOS7中进行1.安装CentOS7扩展软件仓库sudoyuminstall-yepel-release2.安装supervisoryuminstall-ysupervisor3.检查安装了哪些文件和路径rpm-qlsupervisor4。修改定义ini文件step1:找到supervisord的配置文件,可以使用例如:whereissupervisord.ini或者find/-namesupervisor*命令查询step2:修改配置文件,将配置文件的最后一行修改为ini文件路径,意思是:每次更新supervisor时,都会加载该自定义路径文件夹下所有后缀为ini的文件。step3:创建ini文件,加入到supervisor的进程管理中,实现服务器后台运行[program:exmaple]#example是supervisor中的进程名,随便选command=/usr/local/bin/gunicorn-w4-b127.0.0.1:91run:app#上面的代码是使用gunicorn来运行flask。run是你的文件名:app指的是这里的appapp=Flask(__name__)或者command=/usr/local/bin/python3/root/test/test.pynumprocs=1;要启动的进程副本数(def1)autostart=true;supervisord启动时自动启动。开始秒=1;如果1秒后没有异常退出,则视为正常启动。自动重启=真;程序异常退出后自动重启。startretries=3;Start失败自动重试次数,默认3次user=root;哪个用户用于启动redirect_stderr=true;将stderr重定向到stdout,默认为falsestdout_logfile_maxbytes=20MB;stdout日志文件大小,默认50MBstdout_logfile_backups=10;stdout日志文件备份数stdout_logfile=/**custompath/gunicorn.log;loglogstderr_logfile=/**自定义路径/gunicorn.error;错误日志的绝对路径python运行单文件配置示例其实如果只是运行单文件,可以直接使用nohuppythontest.py&(ps:需要cd到test所在的文件夹下执行这个command),服务器会在后台运行,在test.py所在文件夹下会生成一个nohup.out日志文件[program:myProgram]command=python/home/myname/test.pynumprocs=1;要启动的进程副本数(def1)autostart=true;吃晚饭ervisord启动时,也会自动启动startssecs=1;如果1秒后没有异常退出,则视为正常启动autorestart=true;程序异常退出后自动重启startretries=3;启动失败自动重试次数,默认3次user=root;哪个用户用于启动redirect_stderr=true;将stderr重定向到stdout,默认为falsestdout_logfile_maxbytes=20MB;stdout日志文件大小,默认50MBstdout_logfile_backups=10;stdout日志文件备份数stdout_logfile=/**自定义路径/gunicorn.log;loglogstderr_logfile=/**自定义路径/gunicorn.error;错误日志gunicore运行flask配置文件示例的绝对路径[program:myProgram]command=/usr/local/bin/gunicorn-w4-b127.0.0.1:91flask:appdirectory=/root/example/numprocs=1;要启动的进程副本数(def1)autostart=true;supervisord启动时也会自动启动startsecs=1;noafter1s如果异常退出,则视为正常启动。自动重启=真;程序异常退出后自动重启startretries=3;启动失败自动重试次数,默认3次user=root;哪个用户用于启动redirect_stderr=true;将stderr重定向到stdout,默认为falsestdout_logfile_maxbytes=20MB;stdout日志文件大小,默认50MBstdout_logfile_backups=10;stdout日志文件备份数stdout_logfile=/**custompath/gunicorn.log;loglogstderr_logfile=/**自定义路径/gunicorn.error;errorlog绝对路径2.启动supervisorsupervisord#启动supervisord并指定conf文件路径supervisord-c配置文件所在的绝对路径e.g:supervisord-c/etc/supervisor/supervisord.conf#关闭supervisordsupervisorctlshutdown1.启动Supervisor服务#开启所有supervisorctlstartall#开启单个(你在配置文件中获取进程名-->[program:myProgram])supervisorctlstartmyProgram#查看Supervisor服务状态supervisorctlstatus2.修改Supervisorini文件后或者conf文件配置,需要更新servicesupervisorctlupdate#更新supervisor配置supervisorctlreload#重新加载项目到内存3.重启supervisorservicesupervisorctlrestart#不管当前是关闭还是运行4.日志路径tail-f/var/log/supervisor/supervisord.log5.关闭supervisorServicesupervisorctlstopall#关闭所有supervisorctlstopexample#关闭其中一个3.关于报错,基本上报错我都有,但是看了之后对于它,我还是分为以下三种:supervisord没有启动----->运行supervisord命令,你的配置文件内容有误----->检查你的配置文件内容,你需要运行的代码是错误的----->检查你的代码:4.如果有帮助请阅读反馈如果觉得不够详细,可以评论指出。感谢您阅读。