zoukankan      html  css  js  c++  java
  • 关于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

  • 相关阅读:
    Get distinct count of rows in the DataSet
    单引号双引号的html转义符
    PETS Public English Test System
    Code 39 basics (39条形码原理)
    Index was outside the bounds of the array ,LocalReport.Render
    Thread was being aborted Errors
    Reportviewer Error: ASP.NET session has expired
    ReportDataSource 值不在预期的范围内
    .NET/FCL 2.0在Serialization方面的增强
    Perl像C一样强大,像awk、sed等脚本描述语言一样方便。
  • 原文地址:https://www.cnblogs.com/xuanqust/p/11106546.html
Copyright © 2011-2022 走看看