如何管理已停止的kestrel服务

时间:2018-05-18 19:31:36

标签: asp.net-core centos kestrel

我在 kestrel 上的AspNetCore发布了我的CentOs7 x64项目,没有任何反向代理服务器,例如enginx webServer。

我的服务有时会停止,如何重置名为kestrel的崩溃服务?

我使用此bash脚本在/etc/systemd/system中创建了kestrel服务:

[Unit]
Description=TestProject running on CentOS 7

[Service]
WorkingDirectory=/home/aspnetcore/TestProject
ExecStart=/usr/bin/dotnet /home/aspnetcore/TestProject/WebUi.dll
Restart=always
# Restart service after 10 seconds if dotnet service crashes
RestartSec=10
SyslogIdentifier=dotnet-example
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target 

1 个答案:

答案 0 :(得分:1)

您可以使用监控系统来管理服务生命周期。

Zabbix,PRTG和ManageEngine是最好的监控系统。通常我使用ManageEngine监控,它将事件作为服务状态的传感器。对于每个事件,您可以设置Action(s),例如执行bash脚本(用于重置kestrel服务)。