- A+
所属分类:linux技术
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题
环境
Centos 7 x64位 腾讯云
已安装.Net core 2.1.301
安装Supervisor
yum install supervisor
配置Supervisor
在etc下创建目录,并赋权限
echo_supervisord_conf > /etc/supervisor/supervisord.conf
修改配置文件
vim /etc/supervisor/supervisord.conf
在文件末尾添加,注意首尾需无空格,需顶格
[include] files=/etc/supervisor/conf.d/*.conf
在目录"/etc/supervisor"下创建dotnet core 进程配置文件存放目录"conf.d"
mkdir -m 700 /etc/supervisor/conf.d
创建进程配置文件
"itsvse"可以为dotnet core 入口dll文件名字,也可以随便起,插入内容,注意首尾需无空格,需顶格:
vim /etc/supervisor/conf.d/itsvse.conf
[program:MyDotNetName] ;显示名称 command=/bin/bash -c "dotnet test.dll" ;运行命令,启动dotnet进程 directory=/root/app2/ --MyDotNetName目录 stderr_logfile=/var/log/MyDotNetName.error.log ;错误日志文件 stdout_logfile=/var/log/MyDotNetName.stdout.log ;日志文件 environment=ASPNETCORE_ENVIRONMENT=Production ;进程环境变量 user=root ;进程执行用户 autostart=true ;自动启动 autorestart=true ;是否自动重启 startsecs=3 ;自动重启间隔时间
创建supervisor 自启动服务
vim /etc/systemd/system/supervisor.service
编辑内容:
[Unit] Description=supervisor [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 daemon-reload
设置服务开机启动,即设置enable
systemctl enable supervisor.service
启动服务
systemctl start supervisor.service
验证dotnet进程是否启动
使用命令"ps -ef | grep dotnet"查看dotnet 是否运行
[root@VM_0_9_centos system]# ps -ef | grep dotnet
root 14924 14922 3 13:34 ? 00:00:01 dotnet test.dll
root 14981 14326 0 13:35 pts/6 00:00:00 grep --color=auto dotnet
supervisor远程管理
使用命令"vim /etc/supervisor/supervisord.conf"修改配置文件,如下设置
;[inet_http_server] ; inet (TCP) server disabled by default ;port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface) ;username=user ; (default is no username (open server)) ;password=123 ; (default is no password (open server)) ;以下内容开启http服务 [inet_http_server] port=*:9001 ;ip 加端口 username=admin ;登陆账号,可以不设 password=123456 ;登陆账户,可以不设
重启Supervisor
systemctl restart supervisor.service