Centos 7 .Net core后台守护进程Supervisor教程 - Go语言中文社区

Centos 7 .Net core后台守护进程Supervisor教程


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

 

版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/zhm001/p/13953116.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-18 00:24:04
  • 阅读 ( 1126 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢