ASP.NET Core程式發佈到Linux生產環境詳解
這篇文章主要為大家詳細介紹了ASP.NET Core程式發佈到Linux生產環境,具有一定的參考價值,有興趣的小夥伴們可以參考一下。
在這篇文章裡我們將介紹如何在 Ubuntu 14.04 Server上部署ASP.NET Core應用程式。我們將把ASP.NET Core應用程式放到一個反向代理伺服器的後面,由代理伺服器把請求轉交給我們的Kestrel伺服器。除此之外,我們還將保證我們的web應用程式作為一個守護程序來進行啟動。我們需要配置一個進程管理工具來幫助我們在程序崩潰時恢復程序,以確保高可用性。
章節:
準備
#複製你的應用程式
#配置一個反向代理伺服器
監控我們的應用程式
啟動我們的應用程式
觀察日誌
使我們的應用程式安全化
準備工作
1、使用一個特定有sudo權限的標準帳號存取Ubuntu 14.04 Server;
2、ASP.NET Core應用程式。
複製你的應用程式
執行dotnet publish把你的ASP.NET Core應用程式打包成一個自包含(Self-Contained)的目錄(publish目錄,這個目錄下的程式將上傳到伺服器並執行)。什麼是自包含(Self-Contained)程序,請參考我的這篇文章:
.NET Core應用程式類型(Portable apps & Self-contained apps) 。在操作之前,透過FTP工具(WinSCP等)把publish目錄下的程式全部上傳到伺服器指定的目錄下。接下來我們運行我們的程序,具體怎麼運行程序請參考這篇文章:使用.NET Core 1.0創建一個Self-Contained控制台應用。
設定一個反向代理伺服器
對於動態web應用程式來說,反向代理程式是一個非常常用的設定。反向代理會終止目前的請求並將請求轉交給後端的ASP.NET Core應用程式。
為什麼要使用反向代理伺服器
Kestrel作為一個web伺服器,在處理動態內容方面是非常優秀的,但它並不像那些成熟的web伺服器一樣功能完備,這些伺服器包括: IIS, Apache or Nginx。反向代理伺服器可以把一些工作從Http伺服器上卸掉,這些工作包括:靜態內容處理、快取、壓縮以及SSL等。反向代理伺服器可以部署在一個專用的伺服器上或和Http伺服器在同一個叢集裡。本例我們將使用Nginx作為反向代理伺服器並和Http伺服器部署在同一個機器上。
安裝代理伺服器
sudo apt-get install nginx
安裝Nginx
#sudo service nginx start
#啟動Nginx
設定Nginx
編輯檔案:/etc/nginx/sites -available/default為如下:
server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
監聽在80端口,Http的預設端口;代理使用HTTP版本為:HTTP 1.1;將原始請求轉交給:http://localhost:5000。
上述設定完成後使用以下指令來驗證設定檔語法是否正確:
sudo nginx -t
如果設定語法沒有問題,則重新啟動Nginx以使配置生效:
sudo nginx -s reload
##監控我們的web應用
Nginx將轉發請求給你的Kestrel伺服器,但Kestrel並不像Windows上的IIS,它並不管理你的Kestrel進程
,在這篇文章中我們將使用supervisor來啟動我們的應用程序,當系統啟動的時候或當進程崩潰時進行自我恢復。
安裝supervisor:
sudo apt-get install supervisor
設定supervisor:#/etc/supervisor/ conf.d/
hellomvc.conf ###(新增的一個檔案)#############[program:hellomvc] command=/usr/bin/dotnet /var/aspnetcore/HelloMVC/HelloMVC.dll directory=/var/aspnetcore/HelloMVC/ autostart=true autorestart=true stderr_logfile=/var/log/hellomvc.err.log stdout_logfile=/var/log/hellomvc.out.log environment=ASPNETCOREENVIRONMENT=Production user=www-data stopsignal=INT
sudo service supervisor stop sudo service supervisor start
原文翻譯:Publish to a Linux Production Environment
作者:Sourabh Shirhatti
以上是ASP.NET Core程式發佈到Linux生產環境詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

VS Code 一步/下一步快捷鍵的使用方法:一步(向後):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)
