如何管理停止的红隼服务
How to manage kestrel service that is stopped
我在 kestrel 上的 CentOs7 x64
中发布了我的 AspNetCore
项目,没有任何反向代理服务器,例如 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
您可以使用监控系统来管理服务生命周期。
Zabbix、PRTG 和 ManageEngine 是最好的监控系统。通常我使用 ManageEngine 监控,它将事件作为服务状态的传感器。对于每个事件,您都可以设置操作,例如执行 bash 脚本(用于重置 kestrel 服务)。
我在 kestrel 上的 CentOs7 x64
中发布了我的 AspNetCore
项目,没有任何反向代理服务器,例如 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
您可以使用监控系统来管理服务生命周期。
Zabbix、PRTG 和 ManageEngine 是最好的监控系统。通常我使用 ManageEngine 监控,它将事件作为服务状态的传感器。对于每个事件,您都可以设置操作,例如执行 bash 脚本(用于重置 kestrel 服务)。