页面“About me”与“Supervisor基础”之间的差异

来自linux中国网wiki
(页面间的差异)
跳到导航 跳到搜索
 
 
第1行: 第1行:
<p style="text-align: justify;"><em><strong><span style="color: #0000ff;"><span style="color: #ff0000;">相貌不出众,说话欠玲珑;无德又无能,无霜亦无尘.文艺不足逗逼有余.</span></span></strong>
+
= 常识=
<span style="color: #ff0000;">.</span>
+
Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制
</span></em><span style="color: #0000ff;"></span></p>
 
</span></em><span style="color: #0000ff;">混迹互联网、IT界十年余,以捣鼓linux(lfs,kali,cento,debian,centos,ubuntu,特别好折腾lfs,gentoo,debian)为业。</span></p>
 
</span></em><span style="color: #0000ff;">英俊潇洒不足,博学多才欠精。为人善良,外冷内热,典型的80后。喜欢有白云的蓝天!</span></p>
 
<p style="text-align: justify;">email: [email protected]</p>
 
  
<p style="text-align: justify;">扣扣: 563497988</p>
+
=lx=
 +
<pre>
 +
php-worker]# cat supervisord.conf
 +
[supervisord]
 +
logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log
 +
logfile_maxbytes=50MB        ; max main logfile bytes b4 rotation; default 50MB
 +
logfile_backups=10          ; # of main logfile backups; 0 means none, default 10
 +
loglevel=debug              ; log level; default info; others: debug,warn,trace
 +
pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid22
 +
nodaemon=true
 +
user=www-data
 +
[supervisorctl]
 +
[inet_http_server]
 +
port = *:9001
 +
#username="yourusername"
 +
#password="yourpass"
 +
[rpcinterface:supervisor]
 +
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
  
[http://weibo.com/evan886  我的weibo]
 
  
[http://linuxsir242654.linuxsir.org 我的linuxsir]
+
[include]
 +
files = /var/www/api.sns.cai.com/supervisord.d/production1.*.conf /var/www/apistatistical.cai.com/supervise/production1.*.conf
 +
 
 +
#from laradock
 +
tree  supervisord.d/
 +
supervisord.d/
 +
├── laravel-worker.conf.example
 +
└── monitor-mail.conf
 +
 
 +
 
 +
 
 +
</pre>
 +
 
 +
=以tomcat 举例=
 +
<pre>
 +
 
 +
Tomcat进程的一个例子:
 +
 
 +
[program:tomcat]
 +
command=/opt/apache-tomcat-8.0.35/bin/catalina.sh run
 +
stdout_logfile=/opt/apache-tomcat-8.0.35/logs/catalina.out
 +
autostart=true
 +
autorestart=true
 +
startsecs=5
 +
priority=1
 +
stopasgroup=true
 +
killasgroup=true
 +
 
 +
 
 +
bash终端
 +
 
 +
supervisorctl status
 +
supervisorctl stop tomcat
 +
supervisorctl start tomcat
 +
supervisorctl restart tomcat
 +
supervisorctl reread
 +
supervisorctl update
 +
 
 +
 
 +
开机启动Supervisor服务
 +
7.1 配置systemctl服务
 +
 
 +
1> 进入/lib/systemd/system目录,并创建supervisor.service文件
 +
 
 +
[Unit]
 +
Description=supervisor
 +
After=network.target
 +
 
 +
[Service]
 +
Type=forking
 +
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
 +
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
 +
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
 +
KillMode=process
 +
Restart=on-failure
 +
RestartSec=42s
 +
 
 +
[Install]
 +
WantedBy=multi-user.target
 +
 
 +
2> 设置开机启动
 +
 
 +
systemctl enable supervisor.service
 +
systemctl daemon-reload
 +
 
 +
3、修改文件权限为766
 +
 
 +
chmod 766 supervisor.service
  
[http://www.douban.com/people/52560111/ 我的豆瓣]
 
add 西朝鲜
 
  
[https://twitter.com/evan886  twitter]
 
欢迎follow我
 
<pre>    |\    _,--------._    / |
 
    | `.,'            `. /  | 
 
  `  '              ,-'  '     
 
    \/_        _  (    /
 
    (,-.`.    ,',-.`. `__,'           
 
    |/#\ love '#`= ,'.` |         
 
    `._/)  -'.\_,'  ) ))|   
 
    /  (_.)\    .  -'//           
 
    (  /\____/\    ) )`'\     
 
    \ |V----V||  ' ,    \         
 
      |`- -- -'  ,'  \  \      _____
 
  ___ | .' \ \ ._,-'-
 
 
 
  `.__,`---^---'      \ ` -'   
 
      http://linuxchina.net     
 
    -.______  \ . /  ______,-
 
          `.    ,'
 
 
</pre>
 
</pre>
 +
 +
=trouble shooting=
 +
 +
求助!supervisord 报错 FATAL Exited too quickly (process log may have details)
 +
 +
entered FATAL state, too many start retries too quickly
 +
 +
我 user 改成 root 之后可以了
 +
 +
=see also=
 +
 +
[https://blog.csdn.net/xyang81/article/details/51555473 Supervisor安装与配置(Linux/Unix进程管理工具)]
 +
 +
[https://www.cnblogs.com/xueweihan/p/6195824.html supervisor 安装、配置、常用命令]
 +
 +
 +
 +
[https://blog.csdn.net/shuyun123456789/article/details/51153961  Supervisor重新加载配置启动新的进程]
 +
 +
[https://www.jianshu.com/p/0226b7c59ae2 Supervisor的作用与配置]
 +
 +
[https://www.cnblogs.com/jasonkoo/articles/3750638.html supervisord简介,配置及使用]
 +
 +
 +
[https://www.liaoxuefeng.com/article/895919885120064 Linux后台进程管理利器:supervisor]
 +
 +
 +
[https://imwz.io/run-horizon-by-supervisord-in-laradock/ Run Horizon by Supervisord in Laradock]
 +
 +
[[category:ops]]

2020年6月29日 (一) 08:27的版本

常识

Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制

lx

 php-worker]# cat supervisord.conf
[supervisord]
logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB        ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10           ; # of main logfile backups; 0 means none, default 10
loglevel=debug               ; log level; default info; others: debug,warn,trace
pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid22
nodaemon=true
user=www-data
[supervisorctl]
[inet_http_server]
port = *:9001
#username="yourusername"
#password="yourpass"
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface


[include]
files = /var/www/api.sns.cai.com/supervisord.d/production1.*.conf /var/www/apistatistical.cai.com/supervise/production1.*.conf

#from laradock
tree   supervisord.d/
supervisord.d/
├── laravel-worker.conf.example
└── monitor-mail.conf



以tomcat 举例


Tomcat进程的一个例子:

[program:tomcat]
command=/opt/apache-tomcat-8.0.35/bin/catalina.sh run
stdout_logfile=/opt/apache-tomcat-8.0.35/logs/catalina.out
autostart=true
autorestart=true
startsecs=5
priority=1
stopasgroup=true
killasgroup=true


bash终端

supervisorctl status
supervisorctl stop tomcat
supervisorctl start tomcat
supervisorctl restart tomcat
supervisorctl reread
supervisorctl update


开机启动Supervisor服务
7.1 配置systemctl服务

1> 进入/lib/systemd/system目录,并创建supervisor.service文件

[Unit]
Description=supervisor
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

2> 设置开机启动

systemctl enable supervisor.service
systemctl daemon-reload

3、修改文件权限为766

chmod 766 supervisor.service


trouble shooting

求助!supervisord 报错 FATAL Exited too quickly (process log may have details)

entered FATAL state, too many start retries too quickly

我 user 改成 root 之后可以了

see also

Supervisor安装与配置(Linux/Unix进程管理工具)

supervisor 安装、配置、常用命令


Supervisor重新加载配置启动新的进程

Supervisor的作用与配置

supervisord简介,配置及使用


Linux后台进程管理利器:supervisor


Run Horizon by Supervisord in Laradock