linux守护进程(supervisor)的使用以及遇到的一些问题和解决方法

一、安装配置

1、安装:

sudo apt-get install supervisor

2、进入/etc/supervisord/conf.d/,增加项目的配置文件

配置文件案例如下:

;/etc/supervisor/conf.d/awesome.conf 



[program:awesome] 

command = /usr/bin/env/python3 /srv/awesome/www/app.py ; 虚拟环境中python的位置的绝对路径 + 项目的绝对路径

directory = /srv/awesome/www ; 填项目目录

user = www-data ;填当前用户,如wry, enjoy...亲测root不行

startsecs = 3 ;进程从STARING状态转换到RUNNING状态program所需要保持运行的时间(单位:秒)

autorestart = true ; 设置自动重启

redirect_stderr = true ;如果是true,则进程的stderr输出被发送回其stdout文件描述符上

stdout_logfile_maxbytes = 50MB ;指定日志文件最大容量

stdout_logfile_backups = 10  ;指定日志文件备份数

stdout_logfile = /srv/awesome/log/app.log ;将进程stdout输出到指定文件

 

3、随后启动

要去 /etc/supervisor/ 下

执行: supervisord -c supervisor.conf  

查看状态:

supervisorctl status

停止

supervisorctl stop + {项目名称/all}

 

二、遇到的问题及解决方法:

1、 Error: Another program is already listening on a port that one of our HTTP servers is configured to use.  Shut this program down first before starting supervisord.

解决方法:

supercisorctl stop all

unlink /var/run/supervisor.sock

 

2、unix:///var/run/supervisor/supervisor.sock no such file

解决方法:

chmod 777 /run

 

3、IOError: [Errno 13] Permission denied: '/var/log/supervisor/supervisord.log'

 解决方法:

 sudo chmod 777 /var/log/supervisor/supervisord.log

 

4、 Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13)

 解决方法:

 sudo chmod 777 /run

 

5、 Unlinking stale socket /var/run/supervisor.sock

 解决方法:

 unlink /var/run/supervisor.sock

你可能感兴趣的:(linux,linux,守护进程)