[已解决]supervisord管理常驻进程uwsgi/nginx/redis/mongodb

3 篇文章 0 订阅
1 篇文章 0 订阅

[已解决]supervisord管理常驻进程uwsgi/nginx/redis/mongodb

解决部署的一些项目,因机器关机/重启导致项目需要手动重新启动的问题

1 `安装supervisor

yum安装

yum install supervisor

pip安装

pip install supervisor

easy_install安装

easy_install supervisor

2 `配置supervisor

#生成配置supervisor文件
echo_supervisord_conf > /etc/supervisord.conf
#创建存放配置文件目录
mkdir -p /etc/supervisord.d/conf

3 `修改默认配置

#文件最后一行,目录修改为配置文件地址,我的.ini文件是在/etc/supervisord.d/conf/存放,而且本身配置文件也在etc中,所以目录直接写supervisord.d/conf/就可以了
[include]
files = supervisord.d/conf/*.ini

4 `通过配置文件启动supervisor

#这里一定要用配置文件的绝对路径
supervisord -c /etc/supervisord.conf

5 `编写要管理进程的配置文件

#因为我这里配置文件中通配符是以.ini结尾 所以新建的文件后缀为.ini
touch my_uwsgi.ini
#配置如下
[program:uwsgi]  #uwsgi这个名称是管理进程的别名,可以自定义
user=root #启动用户
command=/root/pyenv/myenv/bin/uwsgi --ini  /root/pyenv/myenv/my_uwsgi.ini   #启动的命令
directory=/root/pyenv/myenv    #文件目录
autostart=true   #是否跟随supervisor启动
autorestart=true   #程序故障是否重启
stopasgroup=true   #
startsecs=3   #启动3s后无异常判断为正常
startretries=3   #启动尝试次数
redirect_stderr=true   #把stderr重定向到stdout,默认为flase
stdout_logfile=/var/log/uwsgi_out.log   #标准输出日志路径 这里一定要把uwsgi本身的日志输出关掉
stderr_logfile=/var/log/uwsgi_err.log   #输出错误日志路径

6 `启动应用

#重启supervisor配置中的所有程序
supervisorctl reload
#查看supervisor状态 出现启动项目name即可
supervisorctl status

7 `supervisor命令详解

supervisorctl restart <application name>  #重启指定应用
supervisorctl stop <application name>  #停止指定应用
supervisorctl start <application name>  #启动指定应用
supervisorctl restart all  #重启所有应用
supervisorctl stop all  #停止所有应用
supervisorctl start all  #启动所有应用
supervisorctl update  #配置文件修改后可以使用该命令加载新的配置
supervisorctl reload  #重新启动配置中的所有程序

注意事项

使用supervisorctl status查看发现有进程被不断重启,报错如下:

XXX(项目名)      FATAL     Exited too quickly (process log may have details)

原因:

supervisor只支持前台程序的托管到后台(启动前需要kill掉已经存在的进程),例如:

	#uwsgi
	uwsgi如果出现不断重启,一定是启动命令中加了-d的参数,去掉就好了

	#redis
	redis就需要把redis.conf配置文件中的daemonize设置为no

	#nginx
	nginx就需要在命令行后缀增加 -g ‘daemon off;#mongodb
	mongodb如果不断重启,多半也是因为启动命令中加了后台运行的参数 & 同样的去掉就可以了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值