ASP.NET Core 發布 centos7 配置守護進程


ASP.NET Core應用程序發布linux在shell中運行是正常的。可一但shell關閉網站也就關閉了,所以要配置守護進程, 用的是Supervisor,本文主要記錄配置的過程和過程遇到的問題

安裝Supervisor

 1  yum install python-setuptools

 2   easy_install supervisor

配置Supervisor

 3  mkdir /etc/supervisor

 4  echo_supervisord_conf > /etc/supervisor/supervisord.conf

 5 上面語句執行完后就能在/etc/supervisor 文件夾下找到文件 supervisord.conf 如圖

 

下面我們要將文件的結尾部分替換掉以便后面能讀取到我們的配置文件

在文件的結尾找到以下

;[include];files = relative/directory/*.ini

將代碼替換為如下,注意前后不能帶 ;和空格符號

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

6 進入目錄 /etc/supervisor/ 新建 conf.d文件夾,conf.d文件夾下新建 myproject.conf文件

   具體內容如下,注意命令執行的目錄要寫你項目文件所在的目錄,兩個日志文件的名稱最好也統一改一下

[program:myproject]
command=dotnet myproject.dll ; 運行程序的命令
directory=/root/mypro/ ; 命令執行的目錄
autorestart=true ; 程序意外退出是否自動重啟
stderr_logfile=/var/log/myproject.err.log ; 錯誤日志文件
stdout_logfile=/var/log/myproject.out.log ; 輸出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 進程環境變量
user=root ; 進程執行的用戶身份
stopsignal=INT

  

運行supervisord並查看

7  supervisord -c /etc/supervisor/supervisord.conf 

8  ps -ef | grep myproject  # 這行命令是查看有關myproject的所有進程 ,【注意】myproject是上面 program:myproject 的命名 ,如果你看到如下圖 ,說明運行成功,如果沒有成功可以看上面配置的那個錯誤日志文件

9  supervisorctl reload  #最后重新載入配置

下面整理一些關於 Supervisor 的命令 ,參考鏈接https://segmentfault.com

 

 

命令 說明
supervisord 初始啟動Supervisord,啟動、管理配置中設置的進程
supervisorctl stop myproject 停止某一個進程(programxxx),programxxx為[program:chatdemon]里配置的值,這個示例就是chatdemon
supervisorctl start myproject 啟動某個進程
supervisorctl restart myproject 重啟某個進程
supervisorctl stop groupworker 重啟所有屬於名為groupworker這個分組的進程(start,restart同理)
supervisorctl stop all 停止全部進程,注:start、restart、stop都不會載入最新的配置文件
supervisorctl reload 載入最新的配置文件,停止原有進程並按新的配置啟動、管理所有進程
supervisorctl update 根據最新的配置文件,啟動新配置或有改動的進程,配置沒有改動的進程不會受影響而重啟。注意:顯示用stop停止掉的進程,用reload或者update都不會自動重啟

 

溫馨提示:如果要結束當前應用程序的進程必須先結束守護進程,不然應用程序是kill不掉的,因為它已經會自動重啟了,我們可以 先用命令

ps -ef | grep supervisord

​ 查出所有守護進程相關的進程 ,然后找到對應的守護進程再用 命令

kill -9 pid    # -9 為強制執行

  結束進程,最后才能kill掉我的應用進程。

 

 

詳細參考: http://www.cnblogs.com/zhaopei/p/netcore.html

本文永久更新地址:http://siyouku.cn/article/6861.html

asp.net core 開發框架:https://github.com/2014fighting/CodeFrame.Web.git

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM