zoukankan      html  css  js  c++  java
  • 【转载】Centos7 中使用Supervisor守护进程

    配置supervisor实现进程守护

    1.安装supervisor

     yum install Supervisor 
     

    2.启动服务

    supervisord -c /etc/supervisord.conf

     进入 cd /etc 目录 找到supervisord.conf 配置文件 和 supervisord.d 文件夹,使用vim编辑supervisord.conf文件,拉到最底部我们可以看到

     files = supervisord.d/*.ini 这句代码说明它会加载supervisord.d文件夹中的所有.ini配置文件

    3.编辑配置文件

    随后我们在supervosprd.d中创建一个delploy.ini文件并编辑如下
    复制代码
    复制代码
    [program:DeployLinux]   #DeployLinux  为程序的名称
    command=dotnet DeployLinux.dll #需要执行的命令
    directory=/home/publish #命令执行的目录
    environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
    user=root #用户
    stopsignal=INT 
    autostart=true #是否自启动
    autorestart=true #是否自动重启
    startsecs=3 #自动重启时间间隔(s)
    stderr_logfile=/var/log/ossoffical.err.log #错误日志文件
    stdout_logfile=/var/log/ossoffical.out.log #输出日志文件
    复制代码
    复制代码

     4.重载配置文件

    执行命令使用心得配置文件运行supervisor服务

    supervisorctl reload  //重新加载配置文件

    5.访问网站

    在未执行dotnet xxx.dll启动程序的情况下 在外部访问网站路径成功
    成功后supervisor 日志如下,在日志中我们看到在启动过程中,服务加载了我们的配置文件 deploy.ini
     

    6.意外情况

    这个问题本不该遇到的,但是由于我是在一无所知的情况下操作的,所以因为没有启动服务而一度焦头烂额,碎记下来警醒自己
    说明你没有启动服务,执行 supervisord -c /etc/supervisord.conf 启动即可

    访问Supervisor的图形化界面

    1.修改配置

    将supervisord.conf 中的一段配置更改如下
     

    2.重载supervisor配置

    然后执行  supervisorctl reload  重新加载配置

    3.开启端口

    在访问其web管理界面之前,先需要开启你为他配置的端口,这里我们分配给他的是9001端口,下面是端口管理的一些命令
    firewall-cmd --query-port=9001/tcp          //监测端口是否开启
    firewall-cmd --add-port=9001/tcp            //开启80端口
    firewall-cmd --remove-port=9001/tcp       //关闭80端口
    sudo firewall-cmd --reload                  //重新加载配置

    4.访问图形界面

    端口开启成功后访问supervisor的界面程序进行进程管理
     
    转自:https://www.cnblogs.com/wyt007/p/8288929.html
     

    配置Supervisor开机启动

    新建一个“supervisord.service”文件

    [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

    将文件拷贝至:“/usr/lib/systemd/system/supervisord.service”

    配置开机自启
    systemctl enable supervisord

    验证一下是否为开机启动:systemctl is-enabled supervisord

  • 相关阅读:
    2015年要做的150件事
    再见2014,你好2015
    页面滚动事件的使用
    简单的进度条演示
    mybatis foreach批量处理
    mysql执行顺序
    spring声明式事务 同一类内方法调用事务失效
    Semaphore
    springmvc使用JSR-303对复杂对象进行校验
    springmvc全局异常后返回JSON异常数据
  • 原文地址:https://www.cnblogs.com/wowchky/p/9277325.html
Copyright © 2011-2022 走看看