supervisor安装的实例+管理tomcat

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。

在centos7上安装supervisor,直接用yum进行安装,若是不是的话,或者是其他,请准备好python2.4以上的版本环境

注意:

    1.  supervisord:supervisor的服务器端部分,用于supervisor启动。

    2.  supervisorctl:启动supervisor的命令行窗口,在该命令行中可执行start、stop、status、reload等操作。

    3.  每次修改配置文件后需要进入supervisorctl,执行reload,改动部分才会生效。

 

  1.  在centos7系统上进行安装

        

  2.  开启supervisor,设置supervisor的自动启动,查看supervisor

        

        [root@ localhost ~]# systemctl start supervisord
        [root@ localhost ~]# systemctl enable supervisord
        [root@ localhost ~]# systemctl status supervisord

  3.  修改配置文件 /etc/supervisord.conf,进入配置文件,把所标注处,给去了注释

      

      

      

      [inet_http_server] ; inet (TCP) server disabled by default   http服务器,提供web管理界面 
      port=0.0.0.0:9001 ; (ip_address:port specifier, *:port for all iface)  web管理后台运行的IP和端口,如果开放到公网,需要注意安全性
      username=root ; (default is no username (open server))  登录管理后台的用户名
      password=123456 ; (default is no password (open server))  登录管理后台的密码

      或者是:

          

  4.  重新加载配置文件,开启supervisor的默认端口9001【这一步可以设置防火也可不设置】

      supervisorctl reload

      

        

        firewall-cmd --zone=public --add-port=9001/tcp --permanent    【--zone 作用域,--add-port=80/tcp 添加端口,格式为:端口/通讯协议,--permanent 永久生效,每次参数后失效】

      firewall-cmd --reload  【重新加载】

  5.  访问页面 (因为我们这里给他设置了用户和密码所以要进行登录)

      

      

  6.  再次进入配置文件,/etc/supervisord.conf,的最后一行,你可以改成以 (.conf来做成后缀)【同样如果你在安装supervisor的时候帮supervisor创建了一个文件目录你可以在supervisor的配置文件中的最后一行写上你的详细配置文件目录】

      

      

      

      

  7.  supervisor管理tomcat,先安装上tomcat并且开启tomcat和查看页面,查看完页面之后记得把所有的tomcat进程停止掉,因为你使用supervisor所以当你进入supervisorctl命令行中的时候会有start命令你需要在命令行中执行。{切记:supervisor的进程只能由supervisor来开启}

      

         

  8.  把tomcat开启之后进入/etc/supervisord.d/conf.d编写以.ini结尾的tomcat脚本vim /etc/supervisord.d/conf.d/tomcat.ini

        

        [program:tomcat]
        command=/root/apache-tomcat-8.5.35/bin/catalina.sh run

  9.  重新启动一下supervisor,再进入supervisor的命令行模式(supervisorctl),要执行reload才能有反应,使用exit退出来

        

      

  10.  进行重新启动supervisor,在第二张截图中我们会看到tomcat进程的状态,到这里supervisor的命令行管理tomcat完事儿了。

        [root@ localhost system]# systemctl daemon-reload
        [root@ localhost system]# systemctl enable supervisord.service
        [root@ localhost system]# systemctl start supervisord
        [root@ localhost system]# systemctl status supervisord

        

        

           

  11.  我们再在web端上面看看,是否可以执行成功

        

原文地址:https://www.cnblogs.com/kriskris/p/12271214.html