Linux下.NET Core進程守護設置,解決SSH關閉後.NET Core服務無法訪問的問題

Linux下.NET Core進程守護設置,解決SSH關閉後.NET Core服務無法訪問的問題

 

通過dotnet命令啓動的程序,會在控制檯關閉時結束進程,因此需要設置守護進程。這樣可以讓應用程序一直運行,並且在服務器重啓後自動啓動。

把以下內容保存爲appname.service文件放在/etc/systemd/system目錄下

[Unit]
Description=appname守護進程

[Service]
WorkingDirectory=/home/www/appname/bin
ExecStart=/usr/bin/dotnet /home/www/appname/bin/appname.dll

# 程序崩潰後自動啓動
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=appname.service
# 用戶角色
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
# The default value is 90 seconds for most distributions.
TimeoutStopSec=90

[Install]
WantedBy=multi-user.target
如何管理進程,通過systemctl命令管理

啓用服務進程
systemctl enable appname.service

啓動服務進程
systemctl start appname.service

查看進程狀態
systemctl status appname.service

重啓進程
systemctl restart appname.service

停止進程
systemctl stop appname.service

查看日誌,實時顯示程序console信息
journalctl -fu appname.service

關於.netcore應用程序更新

可以直接覆蓋舊的應用程序文件,然後使用systemctl restart 命令重啓進程,不需要先關閉進程後覆蓋文件再啓動。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章