Supervisor部署ASP.NET core配置文件

在部署asp.net core的应用程序时,为防止进程退出,可以使用supervisor来守护asp.net core应用的进程,对于一个asp.net core应用supervisor配置如下,可以作为模板修改使用。

[program:pcsweb]
directory=/www/pcsweb
command=dotnet /www/pcsweb/YiSha.Admin.Web.dll
autostart=true
autorestart=true
stdout_logfile=/var/log/pcsweb_stdout.log
stderr_logfile=/var/log/pcsweb_stderr.log
startsecs=5
startretries=3
stopasgroup=true
killasgroup=true

Supervisor常用命令

supervisor常用命令,记录备忘。

supervisorctl   status              查看状态
supervisorctl   reload              重新载入配置文件
supervisorctl   start all/ftp     启动所有/指定的程序进程
supervisorctl   stop all/frp      关闭所有/指定的程序进程 

supervisorctl   restart pcsweb  重启进程

重启supervisor
systemctl restart supervisord

Supervisor 部署Django网站的配置

和asp.net core应用类似,django也是需要守护进程来守护的,配置如下:

[program:django-python]
#项目目录
direct=/var/www/www.example.com
#启动进程命令
command=/bin/bash -c "python3 /var/www/www.example.com/manage.py runserver 127.0.0.1:8080"
#是否自动启动
autostart=true
#是否自动重启
autorestart=true
stdout_logfile=/var/log/django_stdout.log
stderr_logfile=/var/log/django_stderr.log
user=root
stopsignal=TERM
startsecs=5
startretries=3
stopasgroup=true
killasgroup=true

Supervisor 安装 配置 及 使用

supervisor是微软官方推荐的一个工具,传送门, 所以我们也使用这个工具来管理我们的asp.net core应用进程

服务器环境:ubuntu14.04 x64
安装 apt-get install supervisor
配置文件目录: /etc/supervisor/conf.d
添加配置文件 vi /etc/supervisor/conf.d/xxx.conf

配置内容如下:

[program:sellplatform]
command=/var/www/yiinet.cc/SellPlatform
directory=/var/www/yiinet.cc
autostart=true
autorestart=true
stderr_logfile=/var/log/sellplatform.err.log
stdout_logfile=/var/log/sellplatform.out.log
environment=Hosting__Environment=Development
user=root
stopsignal=INT
redirect_stderr=true

supervisor 相关命令
重启supervisor服务 service supervisor restart
查看状态 supervisorctl status
关闭目标程序 supervisorctl stop sellplatform
启动目标程序 supervisorctl start sellplatform
关闭所有程序 supervisorctl shutdown

相关链接
在Linux上用supervisor运行ASP.NET Core站点的一个坑