<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CentOS7 中使用 Supervisor 部署 dotNET Core 程序

          共 2115字,需瀏覽 5分鐘

           ·

          2020-12-31 05:32

          CentOS 中部署 dotNET Core 程序,我們通常會使用 Docker ,方便快捷,版本更新也非常方便,但有時客戶要求直接在服務器上進行 dotNET Core 程序的部署,這時就需要使用守護進程,本文就介紹使用守護進程 Supervisor 進行 dotNET Core 程序的部署。

          Supervisor 安裝

          CentOS 中安裝 Supervisor 非常簡單,執(zhí)行下面命令:

          yum?install?supervisor

          安裝成功后,會生成 /etc/supervisord.conf 配置文件和 /etc/supervisord.d/ 目錄。我們也可以使用下面命令查看 supervisor ?是否安裝成功:

          ps?aux?|?grep?supervisord

          正常如下圖:

          編輯配置文件

          使用命令 vi /etc/supervisord.conf 進行配置文件的編輯,主要修改下面兩處:

          1、修改 inet_http_server 節(jié)點,該節(jié)點配置好后,可以有圖形化界面來對進程進行維護。

          • 去掉每行前面的分號,分號表示注釋;
          • port:服務器的 ip 和訪問的端口;
          • username:web 界面的登錄用戶名;
          • password:web 界面的登錄密碼。

          配置完成后,啟動啟動 服務

          supervisord?-c?/etc/supervisord.conf

          啟動后訪問的界面如下圖:

          2、修改配置文件最后的 [include] 節(jié)點,默認情況下為 ini 文件,修改為 conf

          [include]
          files?=?supervisord.d/*.conf

          添加需要被守護的程序

          編寫一個 dotNET Core 程序,將發(fā)布后的目錄復制到服務器上,比如目錄為:/home/fengwei/supervisordemo 。

          /etc/supervisord.d/ 目錄中添加 demo.conf 文件,內(nèi)容如下:

          [program:demoserver]
          command=dotnet?/home/fengwei/supervisordemo/SupervisorDemo.dll?
          autostart=true
          autorestart=true
          stderr_logfile=/home/fengwei/supervisordemo/supererrorlog/demo.err.log
          stdout_logfile=/home/fengwei/supervisordemo/superlog/demo.out.log
          environment=ASPNETCORE_ENVIRONMENT=Production
          user=root
          • command:啟動程序執(zhí)行的命令
          • autostart:supervisord 啟動時是否啟動程序
          • autorestart:程序異常退出后是否自動重啟
          • stderr_logfile:錯誤日志
          • stdout_logfile:正常執(zhí)行中的日志
          • environment:指定環(huán)境變量
          • user:以什么用戶運行

          配置好 demo.conf 文件后,執(zhí)行 supervisorctl reload 進行重啟就可以生效了。當修改了程序重新發(fā)布后,可以執(zhí)行 supervisorctl restart demoserver 進行重啟, demoserverdemo.conf 文件中指定的 program 的名稱。

          守護多個進程

          Supervisor 中,也可以通過配置的方式將一個程序以多進程的方式啟動,比如需要部署 MQ 的消費者時就非常有用,具體配置如下:

          • process_name:定義進程的名稱
          • numprocs:啟動的進程的數(shù)量

          啟動后的效果如下:

          常用命令

          #?啟動Supervisor服務
          supervisord?-c?/etc/supervisord.conf
          #?查看進程啟動情況
          ps?aux?|?grep?supervisord
          #?查看所有服務的狀態(tài)
          supervisorctl?status
          #?重新加載配置文件,新加的服務會啟動,原服務會重啟
          supervisorctl?reload
          #?重新加載配置文件,新加的服務會啟動,原服務不會重啟
          supervisorctl?update
          #?啟動指定的服務?demoserver
          supervisorctl?start?demoserver
          #?重啟指定的服務?demoserver
          supervisorctl?restart?demoserver
          #?停用指定的服務?demoserver
          supervisorctl?stop?demoserver
          #?啟動所有服務
          supervisorctl?start?all
          #?重啟所有服務
          supervisorctl?restart?all
          #?停用所有服務
          supervisorctl?stop?all

          希望本文對您有所幫助!

          瀏覽 57
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本东京热手机播放 | 中文字幕日韩在线观看视频 | 污污污在线免费观看 | 午夜国际一极毛片 | 免费日本黄色一级片 |