最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET?Core在Linux下為dotnet創(chuàng)建守護(hù)進(jìn)程

 更新時間:2021年12月23日 11:36:53   作者:從未被超越  
本篇主要是怎么樣為我們在Linux或者macOs中部署的dotnet程序創(chuàng)建一個守護(hù)進(jìn)程,來保證我們的程序在異常或者是電腦重啟的時候仍然能夠正常訪問。需要的朋友可以收藏下,方便下次瀏覽觀看

什么是守護(hù)進(jìn)程

在linux或者unix操作系統(tǒng)中,守護(hù)進(jìn)程(Daemon)是一種運(yùn)行在后臺的特殊進(jìn)程,它獨立于控制終端并且周期性的執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件。由于在linux中,每個系統(tǒng)與用戶進(jìn)行交流的界面稱為終端,每一個從此終端開始運(yùn)行的進(jìn)程都會依附于這個終端,這個終端被稱為這些進(jìn)程的控制終端,當(dāng)控制終端被關(guān)閉的時候,相應(yīng)的進(jìn)程都會自動關(guān)閉。但是守護(hù)進(jìn)程卻能突破這種限制,它脫離于終端并且在后臺運(yùn)行,并且它脫離終端的目的是為了避免進(jìn)程在運(yùn)行的過程中的信息在任何終端中顯示并且進(jìn)程也不會被任何終端所產(chǎn)生的終端信息所打斷。它從被執(zhí)行的時候開始運(yùn)轉(zhuǎn),直到整個系統(tǒng)關(guān)閉才退出。

此處的創(chuàng)建守護(hù)進(jìn)程,是指發(fā)布在Linux上 asp.net core 程序的dotnet xxx.dll命令的宿主進(jìn)程創(chuàng)建一個守護(hù)進(jìn)程。

在 Linux 上有很多可以管理進(jìn)程的工具,我們使用 Supervisor 來做這個事情。

原因有兩點:

  • 1、它是微軟官方文檔推薦的,降低學(xué)習(xí)成本。
  • 2、它并不一定是最好的,但一定是文檔最全的。

Supervisor 介紹

Supervisor是采用 Python(2.4+) 開發(fā)的,它是一個允許用戶管理 基于 Unix 系統(tǒng)進(jìn)程的 Client/Server 系統(tǒng),提供了大量功能來實現(xiàn)對進(jìn)程的管理。

官方文檔:http://supervisord.org/

Supervisor 安裝

在 masOS 中直接使用brew工具進(jìn)行安裝即可:

brew install supervisor

在 linux 中使用以下命令進(jìn)行安裝:

  • ubuntu

sudo apt-get install supervisor

  • centos

yum install supervisor

  • python

pip install supervosor

easy_install supervisor

安裝完成之后:

mac:~ yangxiaodong$ brew install supervisor
Warning: supervisor-3.2.1 already installed

Supervisor 配置,常用命令

安裝完成之后,在/ect/supervisor/conf.d/目錄下新建一個配置文件(touch HelloWebApp.conf),取名為HelloWebApp.conf

打開HelloWebApp.conf (vim HelloWebApp.conf),寫入如下命令:

[program:HelloWebApp]
command=dotnet HelloWebApp.dll  #要執(zhí)行的命令
directory=/home/yxd/Workspace/publish #命令執(zhí)行的目錄
environment=ASPNETCORE__ENVIRONMENT=Production #環(huán)境變量
user=www-data  #進(jìn)程執(zhí)行的用戶身份
stopsignal=INT
autostart=true #是否自動啟動
autorestart=true #是否自動重啟
startsecs=1 #自動重啟間隔
stderr_logfile=/var/log/HelloWebApp.err.log #標(biāo)準(zhǔn)錯誤日志
stdout_logfile=/var/log/HelloWebApp.out.log #標(biāo)準(zhǔn)輸出日志

配置好以后 (:wq保存退出),需要重新加載一下配置

sudo supervisorctl shutdown && sudo supervisord -c /etc/supervisor/supervisord.conf

或者你可以直接重啟 Supervisor:

sudo service supervisor stop
sudo service supervisor start

如果啟動的時候報錯,可以打開位于/etc/log/supervisor/supervisord.log文件來查看具體的日志。

其中dotnet 命令輸出的日志文件分別為位于

/var/log/HelloWebApp.err.log
/var/log/HelloWebApp.out.log

在這些文件里面你可以查看程序中的異常信息或者是運(yùn)行信息。

打開瀏覽器,輸入http://localhost:5000發(fā)現(xiàn)已經(jīng)可以瀏覽了。

Supervisor 常用命令

supervisorctl shutdown #關(guān)閉所有任務(wù)

supervisorctl stop|start program_name

supervisorctl status #查看所有任務(wù)狀態(tài)

Supervisor UI 管理臺

Supervisor 默認(rèn)給我們提供了一個圖形界面來供我們管理進(jìn)程和任務(wù),在 macOS 中默認(rèn)配置的有,但是在 Linux 中我們需要手動開啟一下。

打開位于/etc/supervisor/supervisord.conf文件,添加inet_http_server 節(jié)點

然后就可以通過界面來查看運(yùn)行的進(jìn)程了:

測試一下

最后,我們測試一下是否會自動重啟,開機(jī)自動運(yùn)行?

  • 1、進(jìn)程管理中干掉dot net ,發(fā)現(xiàn)可以重新啟動。以下是日志:
2016-07-09 12:24:18,626 INFO spawned: 'HelloWebApp' with pid 1774
2016-07-09 12:24:19,766 INFO success: HelloWebApp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-07-09 12:27:43,208 INFO exited: HelloWebApp (exit status 0; expected)
2016-07-09 12:27:44,223 INFO spawned: 'HelloWebApp' with pid 3687
2016-07-09 12:27:45,243 INFO success: HelloWebApp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
  • 2、重啟機(jī)器,發(fā)現(xiàn)可以自動運(yùn)行。

到此這篇關(guān)于ASP.NET Core在Linux下為dotnet創(chuàng)建守護(hù)進(jìn)程的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 初識 ASP.NET Membership 用戶管理

    初識 ASP.NET Membership 用戶管理

    Membership 是用做用戶管理,進(jìn)行身份認(rèn)證使用的。通過ASP.NET Membership,我們可以創(chuàng)建用戶、刪除用戶和編輯用戶屬性。所以這是一個實現(xiàn)登錄相關(guān)控件的底層框架。
    2016-04-04
  • ASP.NET?Core?Razor頁面用法介紹

    ASP.NET?Core?Razor頁面用法介紹

    這篇文章介紹了ASP.NET?Core?Razor頁面的用法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • ASP.NET Session使用詳解

    ASP.NET Session使用詳解

    Session是什么呢?簡單來說就是服務(wù)器給客戶端的一個編號。當(dāng)一臺WWW服務(wù)器運(yùn)行時,可能有若干個用戶瀏覽正在運(yùn)正在這臺服務(wù)器上的網(wǎng)站。
    2009-02-02
  • .Net結(jié)構(gòu)型設(shè)計模式之橋接模式(Bridge)

    .Net結(jié)構(gòu)型設(shè)計模式之橋接模式(Bridge)

    這篇文章介紹了.Net結(jié)構(gòu)型設(shè)計模式之橋接模式(Bridge),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • .Net行為型設(shè)計模式之訪問者模式(Visitor)

    .Net行為型設(shè)計模式之訪問者模式(Visitor)

    這篇文章介紹了.Net行為型設(shè)計模式之訪問者模式(Visitor),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • .Net結(jié)構(gòu)型設(shè)計模式之代理模式(Proxy)

    .Net結(jié)構(gòu)型設(shè)計模式之代理模式(Proxy)

    這篇文章介紹了.Net結(jié)構(gòu)型設(shè)計模式之代理模式(Proxy),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • asp.net下SQLite(輕量級最佳數(shù)據(jù)庫) 原理分析和開發(fā)應(yīng)用

    asp.net下SQLite(輕量級最佳數(shù)據(jù)庫) 原理分析和開發(fā)應(yīng)用

    SQLite是一個開源的嵌入式關(guān)系數(shù)據(jù)庫,它在2000年由D. Richard Hipp發(fā)布,它的減少應(yīng)用程序管理數(shù)據(jù)的開銷,SQLite可移植性好,很容易使用,很小,高效而且可靠
    2011-10-10
  • ASP.NET Core中的環(huán)境配置

    ASP.NET Core中的環(huán)境配置

    這篇文章介紹了ASP.NET Core中的環(huán)境配置,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • ASP.NET中ImageButton圖片按鈕控件的使用

    ASP.NET中ImageButton圖片按鈕控件的使用

    本文主要介紹ImageButton控件的基礎(chǔ)使用方法,該控件類似Button控件,但又比Button豐富,下面看它的具體使用。
    2016-04-04
  • ASP.NET?Core中的Configuration配置二

    ASP.NET?Core中的Configuration配置二

    這篇文章介紹了ASP.NET?Core中的Configuration配置,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評論

卢湾区| 延吉市| 山阳县| 大余县| 大邑县| 孟州市| 金沙县| 齐河县| 新竹县| 大丰市| 牙克石市| 桐庐县| 罗平县| 十堰市| 黑山县| 蒙阴县| 柏乡县| 沅江市| 汉源县| 大冶市| 高要市| 滕州市| 兴义市| 峨眉山市| 中江县| 海晏县| 新和县| 福清市| 景谷| 佛教| 永善县| 德安县| 安远县| 浮山县| 拜城县| 汕头市| 阆中市| 高阳县| 阳曲县| 阿拉善右旗| 深泽县|