zoukankan      html  css  js  c++  java
  • Linux----------进程管理工具supervisor

    一、supervisor介绍

    Supervisor简单介绍
    Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启。Supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
    在使用Supervisor时,可以随时使用Supervisor的客户端Supervisorctl来管理进程,查看状态,重启,停止等。

    优点:比脚本监测节约大量系统资源,服务挂掉拉起迅速
    缺点:业务异常导致服务宕机,可能导致服务起不开

    二、部署及使用supervisor

    安装supervisor
    [root@localhost ~]# yum -y install supervisor
    [root@localhost ~]# systemctl enable supervisord.service
    [root@localhost ~]# systemctl start supervisord.service
    防火墙设置
    [root@localhost ~]# firewall-cmd --permanent --add-port=9001/tcp --add-port=80/tcp
    [root@localhost ~]# firewall-cmd --reload
    
    修改配置文件
    [root@localhost ~]# vim /etc/supervisord.conf
    
    修改以下内容
    [inet_http_server]
    port=0.0.0.0:9001  #web管理页面端口
    username=admin  #web管理页面用户名
    password=123456  #web管理页面密码
    
    
    文件末属添加监控的服务
    [program:httpd]
    command=/usr/sbin/httpd -D FOREGROUND
    autostart=true
    autorestart=true
    startsecs=3
    user=root
    
    [program:nginx]
    command=/usr/local/nginx/sbin/nginx -g 'daemon off;'
    autostart=true
    autorestart=true
    redirect_stderr=true
    priority=10
    stdout_logfile=/data/logs/supervisord/nginx.log
    
    [program:tomcat]
    command=/usr/local/tomcat/bin/catalina.sh run
    environment=JAVA_HOME="/usr/local/jdk1.8",JAVA_BIN="/usr/local/jdk1.8/bin"
    autostart=true
    autorestart=true
    redirect_stderr=true
    stdout_logfile=/dev/stdout
    stdout_logfile_maxbytes=0
    
    [program:mysql]
    command=/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
    priority=1
    numprocs=1
    autostart=true
    autorestart=true
    exitcodes=0
    stopsignal=KILL
    stopwaitsecs=10
    redirect_stderr=true
    stdout_logfile=/data/logs/supervisord/mysql.log
    
    [root@localhost ~]# systemctl stop httpd.service
    [root@localhost ~]# supervisorctl reload
    浏览器输入http://主机IP:9001可以看到httpd服务已自动启动
    
  • 相关阅读:
    Linux驱动之Framebuffer子系统基础知识
    C/C++语言常见面试题汇总
    转载-Linux驱动面试题汇总
    nginx服务在html中嵌入php代码无法显示问题
    关于strsep函数以及联想
    system替代函数
    system问题总结记录
    C语言-判断文件是否存在
    vue常见表单信息收集
    sublime 设置格式化快捷键
  • 原文地址:https://www.cnblogs.com/wangchengshi/p/12212871.html
Copyright © 2011-2022 走看看