asp.net-core - 如何管理停止的红隼服务
问题描述
我在kestrel上发布我的AspNetCore
项目,没有任何反向代理服务器,如webServer。CentOs7 x64
enginx
我的服务有时会停止,如何重置名为 kestrel 的崩溃服务?
/etc/systemd/system
我用这个 bash 脚本创建了 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
解决方案
you can use Monitoring systems for manage service lifetime.
Zabbix, PRTG and ManageEngine is best monitoring system. usually i use ManageEngine monitoring, that has Events as a sensor of service status. and for each event you can set Action(s), like execute bash script (for reset kestrel service).
推荐阅读
- testing - Web 服务测试用例
- javascript - 模态滑动和打开
- docker - 如何设置 DOCKER_HOST?
- javascript - 如何从生成器函数中的回调函数调用 redux-saga 效果?
- apache-nifi - NiFi - 停止处理器后线程仍然运行
- kubernetes - Kubernetes 跨命名空间入口网络
- c# - 如何解析 JSON 数据以生成演示请求正文对象创建的 C# 示例代码
- android - 存储库仅作为与数据层的通信?
- visual-studio-2015 - 如何通过变量更改连接管理器中的服务器名称
- nginx - 在 nginx 中创建代理