欢迎访问玛尊真服务平台,本站唯一网址:www.isodyi.com,未经明确书面许可,任何人不得擅自使用“玛尊真”等商标。
玛尊真ISO认证服务公司

Linux进程管理工具Supervisor怎么安装

本篇内容主要讲解“Linux进程管理工具Supervisor怎么安装”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux进程管理工具Supervisor怎么安装”吧!

成都创新互联公司企业建站,十多年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于网站设计、成都做网站中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。

实验环境

系统平台

cat /etc/redhat-release  CentOSLinux release 7.6.1810(Core)

Python版本

python -V  Python2.7.5

如果python版本低于2.6请升级,下面贴出一个安装python3.6.8的安装示例

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y libffi-devel wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz tar xf Python-3.6.8.tar.xz  cd Python-3.6.8  ./configure --prefix=/usr/local/python368  make && make install  echo 'export PATH=/usr/local/python368/bin:$PATH'>>/etc/profile  source /etc/profile  python3 -V

安装 Supervisor

安装 Supervisor的方法很多,以下介绍三种,我这里所采用的为第三种

1、easy_install 安装 supervisor

安装Python包管理工具(easy_install) easy_install是setuptools包里带的一个命令,使用easy_install实际上是在调用setuptools来完成安装模块的工作,所以安装setuptools即可:

wget https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zip  unzip setuptools-33.1.1.zip  cd setuptools-33.1.1  python setup.py install  easy_install supervisor

2、pip 安装 supervisor

使用 pip 来安装,前提要保证pip版本大于2.6

pip install supervisor

3、yum epel-release 安装 supervisor

yum install -y epel-release && yum install -y supervisor

superviso命令

supervisor安装完成后会生成三个执行程序:supervisortd、supervisorctl、echo_supervisord_conf:

•supervisortd:用于管理supervisor本身服务•supervisorctl:用于管理我们需要委托给superviso工具的服务•echo_supervisord_conf:用于生成superviso的配置文件•supervisor的守护进程服务(用于接收进程管理命令)•客户端(用于和守护进程通信,发送管理进程的指令)

[root@Jumpserver /]# which supervisord  /bin/supervisord  [root@Jumpserver /]# which supervisorctl  /bin/supervisorctl  [root@Jumpserver /]# which echo_supervisord_conf  /bin/echo_supervisord_conf

配置Supervisor

通过运行echo_supervisord_conf程序生成supervisor的初始化配置文件

如果使用yum安装则此步骤省略,直接进行修改配置文件步骤

mkdir /etc/supervisord.d  echo_supervisord_conf >/etc/supervisord.conf

修改配置文件

supervisor的配置文件内容有很多,不过好多都不需要修改就行使用,我这里只修改了以下两项

  1. #修改socket文件的mode,默认是0700  

  2. sed -i 's/;chmod=0700/chmod=0766/g'/etc/supervisord.conf     

  3. #在配置文件最后添加以下两行内容来包含/etc/supervisord目录  

  4. sed -i '$a [include] \  

  5. files =/etc/supervisord.d/*.conf' /etc/supervisord.conf 

编写需要被Supervisor管理的进程

Supervisor只能管理非dameon进程,像默认的redis为前台运行、Tomcat其实是 startup.sh shutdown.sh来调用catalina.sh进行后台运行的,默认catalina.sh为前台运行的程序,不能管理像Nginx一样的非dameon进程

Tomcat被Supervisor管理

Tomcat安装如下:

wget http://us.mirrors.quenda.co/apache/tomcat/tomcat-8/v8.5.47/bin/apache-tomcat-8.5.47.tar.gz  yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 -y  tar xf apache-tomcat-8.5.47.tar.gz  -C /usr/local/ mv /usr/local/apache-tomcat-8.5.47/usr/local/tomcat

想要我们的应用被Supervisor管理,就需要在/etc/supervisord目录下编写配置文件,Tomcat案例如下:

vim /etc/supervisord.d/tomcat.conf  [program:tomcat]#程序唯一名称  directory=/usr/local/tomcat                             #程序路径  command=/usr/local/tomcat/bin/catalina.sh run           #运行程序的命令  autostart=true#是否在supervisord启动后tomcat也启动  startsecs=10#启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒  autorestart=true#程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启;意思为如果不是supervisord来关闭的该进程则认为不正当关闭,supervisord会再次把该进程给启动起来,只能使用该supervisorctl来进行关闭、启动、重启操作  startretries=3#启动失败自动重试次数,默认是3  user=root                                               #用哪个用户启动进程,默认是root  priority=999#进程启动优先级,默认999,假如Supervisord需要管理多个进程,那么值小的优先启动 stopsignal=INT  redirect_stderr=true#把stderr重定向到stdout标准输出,默认false  stdout_logfile_maxbytes=200MB#stdout标准输出日志文件大小,日志文件大小到200M后则进行切割,切割后的日志文件会标示为catalina.out1,catalina.out2,catalina.out3...,默认50MB stdout_logfile_backups =100#stdout标准输出日志文件备份数,保存100个200MB的日志文件,超过100个后老的将被删除,默认为10保存10个 stdout_logfile=/usr/local/tomcat/logs/catalina.out#标准日志输出位置,如果输出位置不存在则会启动失败  stopasgroup=false#默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程  killasgroup=false#默认为false,向进程组发送kill信号,包括子进程

启动进程使用supervisord管理启动后,当你使用/usr/local/tomcat/shutdown.sh或者kill $PID的时候,supervisord都会认为是意外关闭,会自动再次把进程拉起,除非是使用supervisord命令关闭

#supervisord启动  supervisord -c /etc/supervisord.conf                    #启动supervisord进程,我们在配置文件中设置了 autostart=true 参数,在supervisord启动的时候 tomcat也随之启动 ps -ef|grep java                                        #查看tomcat是否启动 

程序管理

supervisorctl status tomcat                             #tomcat状态  supervisorctl stop tomcat                               #停止tomcat  supervisorctl start tomcat                              #启动tomcat  supervisorctl restart tomcat                            #重启tomcat  supervisorctl reoload tomcat                            #重仔tomcat

Redis被Supervisor管理

redis默认不在配置文件中添加 daemonize yes 参数则是前台启动的,所以也可以被我们的的Supervisor所管理 redis配置文件如下:

cat redis6001.conf  port 6001  bind 192.168.31.230  protected-mode yes  pidfile "/usr/local/redis/run/redis6001.pid"  loglevel notice  logfile "/usr/local/redis/logs/redis6001.log"  save 9001  stop-writes-on-bgsave-error yes  rdbcompression yes  rdbchecksum  yes  dbfilename dump.rdb dir "/usr/local/redis/data/rdb/"  timeout 0  tcp-keepalive 300

编写redis被Supervisor管理的案例

vim /etc/supervisord.d/redis.conf  [program:redis]  directory=/usr/local/redis  command=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis6001.conf  autostart=true  startsecs=10  autorestart=true  startretries=3  user=root  priority=999  stopsignal=INT  redirect_stderr=true  stdout_logfile_maxbytes=200MB  stdout_logfile_backups =100  stdout_logfile=/usr/local/redis/logs/redis6001.log  stopasgroup=false  killasgroup=false

使用super启动redis

#关闭tomcat  supervisorctl stop tomcat  tomcat: stopped  #杀掉supervisord  ps -ef|grep supervisord  root     269271010:47?00:00:00/usr/bin/python /bin/supervisord -c /etc/supervisord.conf  root     2754927402011:07 pts/200:00:00 grep --color=autosuper  kill -926927  #重新启动supervisord使其重新加载配置文件,supervisord默认会把redis和tomcat都拉起来  supervisord -c /etc/supervisord.conf

程序管理

supervisorctl status redis                              #redis状态  supervisorctl stop redis                                #停止redis  supervisorctl start redis                               #启动redis  supervisorctl restart reids                             #重启redis  supervisorctl reoload redis                             #重载redis

程序管理

程序管理

supervisorctl status all                            #查看所有进程状态  supervisorctl stop   all                            #停止所有进程  supervisorctl start  all                            #启动所有进程  supervisorctl restart all                           #重启所有进程  supervisorctl reoload all                           #重载所有进程

Supervisord开启启动配置

vim /usr/lib/systemd/system/supervisord.service  [Unit]  Description=ProcessMonitoringandControlDaemon  After=rc-local.service nss-user-lookup.target  [Service] Type=forking  ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf  [Install]  WantedBy=multi-user.target
systemctl enable supervisord  systemctl is-enabled supervisord

到此,相信大家对“Linux进程管理工具Supervisor怎么安装”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

上一篇:没有了
快速申请办理
称呼: *
电话: *

订单提交后,10分钟内,我们将安排工作人员和您联系!

热点资讯
联系我们
大悟县玛尊真商贸有限公司
电   话:0712-7218610

传   真:0712-7218610

谭经理:18980820575

王主任:135 1821 9792

邮   箱:631063699@qq.com

地   址:湖北省孝感市大悟县城关镇鄂北物流城13栋125号

微信二维码
扫一扫 关注我们
电话:

189-8208-1108

湖北省孝感市大悟县城关镇鄂北物流城13栋125号八戒云创空间-D1-430

ISO体系认证
iso认证
服务体系认证
有机产品认证
OHSAS18001
ITSS认证
信用评级
中国招标企业信用认证
资信等级
重合同守信用
企业信用认证
中国诚信供应商
质量、服务诚信认证
CMMI
CMMI1
CMMI2
CMMI3
CMMI4
CMMI5
系统集成
系统集成一级
信息系统集成二级
信息系统集成三级
信息系统集成四级
涉密信息系统集成
资质许可证
生产许可证认证
GS认证
CCC认证
中国节能认证
十环认证
知识产权

Copyright © 2002-2025

大悟县玛尊真商贸有限公司 版权所有

备案/许可证号:鄂ICP备2025140345号-7   网站建设创新互联
 
QQ在线咨询
客服咨询
咨询热线
189-8208-1108