在乌班图系统(ubantu)中使用Supervisor守护进程工具安装AspNetCore程序

第一步:安装Supervisor工具,请各位老司机自行百度安装Supervisor工具的方法并且把Supervisor配置为开机自启动,然后在配置一下web管理界面;

第二部:在Supervisor的安装目录下,一般为默认安装目录:/etc/supervisor有一个conf.d的目录,进入conf.d的目录bi并且创建一个配置文件:sudo mkdir hellowebapp.conf(文件名可以自定义),填入以下内容:

[program:hellowebapp]  ;此处为服务名称可以自定义
command=/home/root/dotnet/dotnet WebApplication1.dll -c appsettings.json   ;此处为执行启动aspnetcore程序的命令
directory=/home/root/dotnet/website/test.web   ;此处为aspnetcore程序的目录
environment=ASPNETCORE_ENVIRONMENT=Production  ;此处通用
autorestart=true   ;此处通用
autostart=true  ;此处通用
stderr_logfile=/home/root/dotnet/website/WebApplication1.err.log    ;此处为aspnet程序的supervisor写的日志,很多时候启动不了可以查看此日志找原因
stdout_logfile=/home/root/dotnet/website/WebApplication1.out.log  ;此处为aspnet程序的supervisor写的日志
user=root    ;此处为系统登入用户名
stopsignal=INT   ;此处通用
startsecs=1    ;此处通用
startretries=3   ;此处通用

一般来说配置好了这些就能正常启动apsnetcore程序了,可以到supervisor的web管理控制台查看状态:

在乌班图系统(ubantu)中使用Supervisor守护进程工具安装AspNetCore程序

 

 

主要碰到两种异常情况:

1:当报错内容是dotnet command not found时,请检查环境变量是否正确,如果环境变量也正确的话可以使用命令的绝对路径,我的dotnet命令的绝对路径是:/home/root/dotnet/dotnet;

 

2:当报错内容是BACKOFF Exited too quickly时,请检查命令是否可以正常启动程序,并且检查aspnetcore的程序目录是否正确,或者检查日志是否正常输出,没日志输出说明程序没权限,也就是启动用户没权限,一般root用户是有权限的;