Asp.NetCore輕鬆學-使用Supervisor進行託管部署

前言

上一篇文章 Asp.NetCore輕鬆學-部署到 Linux 進行託管 介紹瞭如何在 Centos 上部署自託管的 .NET Core 應用程序,接下來的內容就是介紹如何使用第三方任務管理程序來託管 .NET Core 應用程序,這裏以筆者經常使用的 Supervisor 爲例子,從安裝環境開始,一步一步的進入 Linux 的世界,部署程序仍是以上一篇的項目文件 Deploy.Linux 爲基礎。html

1. 安裝前置條件

Centos 和 ubuntu 下,安裝 supervisor 的步驟有所不一樣,在 Centos 下,須要先添加 Centos 下的擴展包源,ubuntu

1.1 安裝 Centos 擴展源
sudo yum install epel-release

1.2. 安裝 supervisor
sudo yum install supervisor
  • ubuntu 下使用 apt-get install supervisor 進行安裝
1.3 supervisor 安裝完成
  • 輸入supervisord --version 查看安裝已完成,

注意是 supervisord 後面多了一個字符:d,由於安裝的服務名稱是:supervisord.service,經過命令查看服務文件可知道centos

cat /usr/lib/systemd/system/supervisord.service

1.4 設置 supervisor 開機啓動
sudo systemctl enable supervisord
sudo systemctl start supervisord
1.5 進入 supervisor 控制檯執行命令
sudo supervisorctl

進入 supervisor 控制檯,表示服務安裝成功,並已成功啓動.net

2. 建立 supervisor 託管的 .NET Core 的服務配置文件

2.1 查看配置文件目錄

經過查看 cat /etc/supervisord.conf 看到 supervisor 引入配置文件的指定目錄爲rest

[include]
files = supervisord.d/*.ini

能夠看到,默認的託管服務配置文件目錄在 supervisord.d/ 下面,這個目錄的完整地址是 /etc/supervisord.d/日誌

2.2 創建配置文件 demo.ini

關於 supervisor 配置文件的含義,這裏不作過多的解釋,可移步官網查看幫助文檔:http://www.supervisord.org/configuration.html,咱們在這裏只作一個最簡單的配置文件,恰好夠啓動 .NET Core 應用程序便可code

[program:demo]
command=/usr/bin/dotnet  Deploy.Linux.dll ; 輸入執行命令,這裏表示 dotnet  Deploy.Linux.dll
directory=/data/sites/demo/publish ; 應用程序根目錄 
autostart=true ; 是否自動啓動,當 supervisor 加載該配置文件的時候當即啓動它 
autorestart=true ; 是否自動重啓,當執行 dotnet  Deploy.Linux.dll 啓動失敗時,會重複的自動重啓 
logfile_maxbytes=50MB ; 該配置文件輸出單個日誌文件的大小 
logfile_backups=10 ; 日誌備份個數 
loglevel=info ; 記錄日誌級別 
stderr_logfile=/data/logs/demo/demo.err.log ; 指定標準錯誤輸出日誌文件 
stdout_logfile=/data/logs/demo/demo.out.log ; 指定標準輸出日誌文件 
environment=ASPNETCORE_ENVIRONMENT=Production ; 可配置環境變量,該環境變量將經過執行 dotnet  Deploy.Linux.dll 命令的時候傳入到 .NET Core 應用程序中  
user=root ;啓動服務的用戶  
stopsignal=INT
redirect_stderr=true
  • 上面包含了幾個關鍵的參數,都在註釋中了,接下來創建日誌目錄,不然服務啓動出錯,輸入命令
2.3 建立日誌文件目錄
sudo mkdir -p /data/logs/demo
2.4 重啓 supervisor 服務,並進入 supervisorctl
sudo systemctl restart supervisord
sudo supervisorctl

2.5 查看服務狀態

輸入站點地址:http://139.219.9.102/ 查看服務已正常啓動htm

2.6 查看日誌輸出

查看日誌輸出,定位到目錄 /data/logs/demo 查看日誌文件內容正常blog

結束語

本文從零開始介紹如何使用 Supervisor,一步一步的從安裝環境到編寫託管服務文件,設置執行文件、執行文件目錄、日誌輸出配置等細節,最終成功將 .NET Core 應用程序託管到了 Supervisor 中,文中都是經過命令形式進行安裝部署,對於接觸 Linux 比較少的同窗來講,可能有些不適應,不過沒關係,這些都是很基礎的命令,咱們呢,就是要多學多用,達到熟悉和強化記憶,而後平滑過渡到 Linux 平臺。文檔

相關文章
相關標籤/搜索