• 关于Linux下Supervisor 守护进程的配置


    近日在学习通过linux部署.netCore,通过Supervisor的守护进程进行服务自动运行,重启。通过网上搜索相关资料,初始配置时,搞的一头雾水,把个人遇到的一些问题整理如下:

    第一步:通过命令进行安装Supervisor守护进程,我用的是centos系统

          yum install supervisor

     安装完成后,在/etc 下生成两个文件,一个是supervisord.conf 配置文件,一个是supervisord.d文件夹,查看配置文件supervisord.conf ,最后一行添加files=/etc/supervisor/conf.d/TestNetCore.conf ,注意:

    [include]

    files=/etc/supervisor/conf.d/TestNetCore.conf 

    要启用此代码

    这个可以自定义,主要就是包含用户项目配置文件

    TestNetCore.conf 文件内容

    [program:HelloWebApp] #应用程序名称自己定义

    command=dotnet HelloWebApp.dll #要执行的命令

    directory=/home/yxd/Workspace/publish #命令执行的目录

    environment=ASPNETCORE__ENVIRONMENT=Production #环境变量

    user=root #进程执行的用户身份

    stopsignal=INT

    autostart=true #是否自动启动

    autorestart=true #是否自动重启

    startsecs=1 #自动重启间隔

    stderr_logfile=/var/log/HelloWebApp.err.log#标准错误日志

    stdout_logfile=/var/log/HelloWebApp.out.log #标准输出日志

    注意:每句话后面不能带有分号“;”,我复制时忽略了这一点,自动带上分号后,服务进程运行时,提示dotnet 失败

    保存退出:wq

    重新运行supervisord  命令:systemctl restart supervisord ,查看其状态命令:systemctl status supervisord

    以上初步配置成功,监守服务进程配置结束,接下来配置开机自启动,服务器宕机重启后,服务进程自动运行,无需人为干预

    1.在指定目录下创建文件supervisord.service

    vi /usr/lib/systemd/system/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

    保存退出

    执行以下命令:

    systemctl enable supervisord

    提示:

    Created symlink from /etc/systemd/system/multi-user.target.wants/supervisord.service to /usr/lib/systemd/system/supervisord.service.
    验证是否为开机启动:
    systemctl is-enabled supervisord

    提示:

    enabled

    表示设置成功!

    至此,创建supervisor守护进程完毕。

    参考:https://www.cnblogs.com/Hai--D/p/5820718.html

       https://www.cnblogs.com/jayjiang/p/12610637.html

  • 相关阅读:
    由"跨域"引出的一个终极思想(jsonp)
    SQLAlchemy 使用教程
    rbac-基于角色的权限控制系统(8种常用场景再现)
    Django中间件 (middleware)
    tcp粘包问题原因及解决办法
    细说【json&pickle】dumps,loads,dump,load的区别
    python面向对象--快速入门
    python三大器(装饰器/生成器/迭代器)
    django神器 <自定义过滤器filter 和 标签tag>
    python 基础数据类型汇总
  • 原文地址:https://www.cnblogs.com/xuanqust/p/11106546.html
Copyright © 2020-2023  润新知