• asp.net core2 Centos上配置守护服务(Supervisor)


    上一篇我们存在三个文件

    问题1:ASP.NET Core应用程序运行在shell之中,如果关闭shell则会发现ASP.NET Core应用被关闭,从而导致应用无法访问,这种情况当然是我们不想遇到的,而且生产环境对这种情况是零容忍的。

    问题2:如果ASP.NET Core进程意外终止那么需要人为连进shell进行再次启动,往往这种操作都不够及时。

    问题3:如果服务器宕机或需要重启我们则还是需要连入shell进行启动

    为了解决这个问题,我们需要有一个程序来监听ASP.NET Core 应用程序的状况。在应用程序停止运行的时候立即重新启动。这边我们用到了Supervisor这个工具,Supervisor使用Python开发的。

    安装Supervisor

    yum install python-setuptools

    easy_install supervisor

    配置Supervisor

    mkdir /etc/supervisor

    echo_supervisord_conf > /etc/supervisor/supervisord.conf

    将文件尾部的配置

    #进入目录
    cd /etc/supervisor/

    #打开文件 vi supervisord.conf
    [program:OneHopeProject]
    command=dotnet TestAspNetCoreWeb.dll
    directory=/root/www/Demo1
    autorestart=true
    stderr_logfile=/var/log/TestAspNetCoreWeb.err.log
    stdout_logfile=/var/log/TestAspNetCoreWeb.out.log
    environment=ASPNETCORE_ENVIRONMENT=Production
    user=root
    stopsignal=INT

    在文件的末尾加入以上代码然后用:wq保存,可以另外存放一个配置文件,那样配置方式又不一样了。注意文件的路径,我就是被这个路径坑了好久,可以到对于的文件夹下看错误的日志。

    运行supervisord,查看是否生效

    supervisord -c /etc/supervisor/supervisord.conf

    ps -ef | grep WebApplication1

    如果没生效,则用

    #更新新的配置到supervisord
    supervisorctl reload

     #重新启动配置中的所有程序

      supervisorctl update

    
    

     至此关于ASP.NET Core应用程序的守护即配置完成。

    常用命令

    # 查看所有action
    supervisorctl help
    
    # 控制所有进程
    supervisorctl start all
    supervisorctl stop all
    supervisorctl restart all
    
    # 控制目标进程
    supervisorctl stop shadowsocks
    supervisorctl start shadowsocks
    supervisorctl restart shadowsocks
  • 相关阅读:
    业务领域建模Domain Modeling
    用例建模Use Case Modeling
    分析一套源代码的代码规范和风格并讨论如何改进优化代码
    结合工程实践选题调研分析同类软件产品
    如何提高程序员的键盘使用效率
    python知识准备及环境配置
    一张图片在Python操作下的4种玩法(附源码)
    Python中的错误和异常
    当你忘记网站上的密码时怎么办?Python如何快速帮你找回?
    Python最简单的图片爬虫,20行代码带你爬遍整个网站
  • 原文地址:https://www.cnblogs.com/LonelyCode/p/9070113.html
Copyright © 2020-2023  润新知