我在 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
答案 0 :(得分:1)
您可以使用监控系统来管理服务生命周期。
Zabbix,PRTG和ManageEngine是最好的监控系统。通常我使用ManageEngine监控,它将事件作为服务状态的传感器。对于每个事件,您可以设置Action(s),例如执行bash脚本(用于重置kestrel服务)。