美文网首页
CentOS环境supervisor安装

CentOS环境supervisor安装

作者: 可望不可j | 来源:发表于2021-06-21 09:08 被阅读0次

1、安装

使用easy_intall来安装 Supervisor:

yum install python-setuptools

easy_install supervisor

使用pip来安装 Supervisor:

pip install supervisor

安装完毕后,可以使用以下命令来测试安装是否成功:

echo_supervisord_conf

echo_supervisord_conf将会在终端输出 Supervisor 配置的样例。

2.生成配置文件

mkdir /etc/supervisor

echo_supervisord_conf  > /etc/supervisor/supervisord.conf

3.修改配置文件

vim /etc/supervisord.conf

;[include]

;files = relative/directory/*.ini

修改为:

[include]

files=/etc/supervisor/conf.d/*.conf

# conf.d文件夹为自己创建

# 记得记得去掉[include]前面的分号

#################################################################

;pidfile=/tmp/supervisord.pid

改为,在tmp下会被删除

;pidfile=/var/run/supervisord.pid

#################################################################

;logfile=/tmp/supervisord.log

改为,有好几处,搜索改,并且建立相应的supervisord.log文件,并给777权限

logfile=/var/log/supervisord.log

################################################################# 

;serverurl=unix:///tmp/supervisor.sock

改为,有好几处 supervisor.sock,搜索改到var/run下去

serverurl=unix:///var/run/supervisor.sock

4.运行(注:所有命令建立在 已启动的条件下)

#启动

supervisord -c /etc/supervisor/supervisord.conf 

或者python 版本不同

/usr/bin/python3.4 /usr/bin/supervisord -c /etc/supervisord.conf

#################################################################  

#更新配置文件

supervisorctl update

#重启所有进程

supervisorctl reload

# 查看所有子进程的状态 

supervisorctl status 

# 关闭某个进程    

supervisorctl stop xxx 

# 开启某个进程   启动某个进程(program_name=你配置中写的程序名称) 

supervisorctl start program_name

 # 关闭所有进程 

supervisorctl stop all

 # 开启所有进程 

supervisorctl start all

 # 帮助

 supervisorctl help

 # 关闭所有任务

supervisorctl shutdown 

#查看状态,图1是正确的

supervisorctl

图1

5.报错原因处理

1.supervisorctl error (no such process)

原因:没有把supervisord.conf里面的[include]前面的;去掉,导致没有加载到进程文件。

2. [unix:///tmp/supervisor.sock no such file]

在启动的时候没有指定配置文件出现的

supervisord -c /etc/supervisor/supervisord.conf

3.Unlinking stale socket /tmp/supervisor.sock 或者: 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. 执行以下命令: 

unlink /tmp/supervisor.sock

4.error: <class 'socket.error'>, [Errno 2] No such file or directory: file: <string> line:

原因:supervisor没有启动

supervisord -c /etc/supervisor/supervisord.conf

5. error:class 'socket.error' [Errno 2] No such file or directory: file: /usr/lib64/python2.7/socke

原因:启动报错

命令: /usr/bin/python3.4   /usr/bin/supervisord  -c  /etc/supervisord.conf

6. Invalid user name forge in section 'program:laravel-worker'

自定义的配置文件中,默认给我们的配置中有一个配置: user ,它的值默认是 forge 。应该将这个值改为我们系统当前登录的用户比如说我当前登录的账户是root ,那么就将它改为root 就可以了。建议,这个最好使用root权限,或者使用权限比较多的用户去设置

7.laravel 框架中启动   (AWS\Sqs\SqsClient not found

方法:在自定义的.conf中将sqs 改成 redis

如:

command=/opt/appnode/appnode-php72/root/bin/php /data/mystack/sites/lav.swaylink.cn/www/laravel/artisan queue:work sqs --sleep=3 --tries=3

改成:

command=/opt/appnode/appnode-php72/root/bin/php /data/mystack/sites/lav.swaylink.cn/www/laravel/artisan queue:work redis --sleep=3 --tries=3

6. 配置supervisord开机启动

(1)在指定目录下创建文件supervisord.service

vim /usr/lib/systemd/system/supervisord.service

(2)输入一下内容

[Unit]

Description=Supervisor daemon

[Service]

Type=forking

ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

ExecStop=/usr/bin/supervisorctl shutdown

ExecReload=/usr/bin/supervisorctl reload

KillMode=process

Restart=on-failure

RestartSec=42s

[Install]

WantedBy=multi-user.target

(3)设置开机自启

systemctl enable supervisord

(4)验证是否是开机自启

#提示 enabled 表示成功

systemctl is-enabled supervisord

相关文章

网友评论

      本文标题:CentOS环境supervisor安装

      本文链接:https://www.haomeiwen.com/subject/lmnvjctx.html