.net Core 3.0 WebApi 創(chuàng)建Linux守護(hù)進(jìn)程的方法
前言
我們一般可以在Linux服務(wù)器上執(zhí)行 dotnet <app_assembly.dll> 命令來運(yùn)行我們的.net Core WebApi應(yīng)用。但是這樣運(yùn)行起來的應(yīng)用很不穩(wěn)定,關(guān)閉終端窗口之后,應(yīng)用也會(huì)停止運(yùn)行。為了讓其可以穩(wěn)定運(yùn)行,我們需要讓它變成系統(tǒng)的守護(hù)進(jìn)程,成為一種服務(wù)一直在系統(tǒng)中運(yùn)行,出現(xiàn)異常時(shí)也能重新啟動(dòng)。
Linux系統(tǒng)有自己的守護(hù)進(jìn)程管理工具 Systemd 。systemd 是內(nèi)核啟動(dòng)后的第一個(gè)用戶進(jìn)程,PID 為1,是所有其它用戶進(jìn)程的父進(jìn)程。它直接與內(nèi)核交互,性能出色,可以提供用于啟動(dòng)、停止和管理進(jìn)程的許多強(qiáng)大的功能。我們完全可以將程序交給 Systemd ,讓系統(tǒng)統(tǒng)一管理,成為真正意義上的系統(tǒng)服務(wù)。
systemctl 用于管理 systemd 的行為,替換之前的 sysvinit 和 upstart。
創(chuàng)建服務(wù)文件
創(chuàng)建服務(wù)定義文件:
vim /etc/systemd/system/qf-intecabinet.service
以下是應(yīng)用的一個(gè)示例服務(wù)文件:
[Unit] Description=運(yùn)行Qf.InteCabinet服務(wù) [Service] WorkingDirectory=/opt/InteCabinet # 依賴環(huán)境,可以指定多個(gè) ExecStart=/usr/bin/dotnet /opt/InteCabinet/Qf.InteCabinet.WebApi.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=qf-intecabinet User=root # 管理服務(wù)的用戶,用戶必須存在并且擁有正確應(yīng)用文件的所有權(quán) Environment=ASPNETCORE_ENVIRONMENT=Production # 環(huán)境變量 Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target # 該服務(wù)所在的Target
管理服務(wù)
保存該文件并啟用該服務(wù)
systemctl enable qf-intecabinet.service
啟動(dòng)該服務(wù)
systemctl start qf-intecabinet.service
查看服務(wù)狀態(tài)
systemctl status qf-intecabinet.service
查看日志
journalctl -fu qf-intecabinet.service
使用時(shí)間選項(xiàng)(如 --since today、--until 1 hour ago)或這些選項(xiàng)的組合可以減少返回的條目數(shù)
journalctl -fu qf-intecabinet.service --since "2020-01-01" --until "2020-03-01 12:00"
關(guān)閉服務(wù)
systemctl stop qf-intecabinet.service
參考資料
到此這篇關(guān)于.net Core 3.0 WebApi 創(chuàng)建Linux守護(hù)進(jìn)程的方法的文章就介紹到這了,更多相關(guān).net Core WebApi創(chuàng)建守護(hù)進(jìn)程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
gridview行索引獲取方法及實(shí)現(xiàn)代碼(非js版)
前一篇是用Javascript獲取GridView的行索引,此篇Insus.NET使用非Javascript獲取GridView的行索引,感興趣的朋友可以了解下2013-01-01.Net中關(guān)于stirng轉(zhuǎn)System.Type的一種實(shí)現(xiàn)思路詳解
這篇文章主要給大家介紹了.Net中關(guān)于stirng轉(zhuǎn)System.Type的一種實(shí)現(xiàn)思路的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05datagrid行內(nèi)按鈕(更新/刪除等)操作實(shí)現(xiàn)代碼
datagrid控件想必大家很是熟悉,本文將介紹下datagrid行內(nèi)按鈕的操作更新/刪除等等,感興趣的你可不要錯(cuò)過了哈,希望本文知識(shí)點(diǎn)可以幫助到你2013-02-02C#(.NET)數(shù)據(jù)訪問連接、查詢、插入等操作的封裝類
一個(gè)C#(.NET)數(shù)據(jù)訪問連接、查詢、插入等操作的封裝類2008-05-05