將發布的應用程式部署到伺服器上的資料夾。
設置一個進程管理器,當請求到達時啟動該應用程序,並在崩潰或伺服器重新啟動後重新啟動該應用程式。
要配置反向代理,設置反向代理以將請求轉發到應用程式。
發布至資料夾
首先須先使用
dotnet publish
將網站發布到指定的資料夾中
dotnet publish
如果加上參數
-o <資料夾名稱>
會輸出到指定的目錄底下,如果沒特別指定則會輸出至
bin/Debug/netcoreapp3.1/publish
底下。也可以透過
--configuration
參數來指定發佈的組態,例如
dotnet publish --configuration Release
,就會將檔案發佈到
bin/Release/netcoreapp3.1/publish
底下。
發布出來的檔案可以透過SCP或是SFTP來放到伺服器上
在Linux上裝載ASP.NET Core
首先要在伺服器上裝載ASP.NET Core應用程式,就必須要安裝 .NET Core Runtime,可以透過
下載頁面
,或是直接透過套件管理的指定來下載
以CentOS 7 為範例:
sudo yum install aspnetcore-runtime-3.1
安裝完畢之後便可以透過 .NET CLI 啟動部署好的ASP.NET Core應用程式
在部屬的目錄底下輸入
dotnet <專案名稱>.dll
因為ASP.NET Core自帶Kestrel Server,所以不需要透過其他HTTP Server就可以啟動網站應用程式了。
備註:要先檢查防火牆的指定Port是否有開啟
做到這邊相信各位朋友一定嘗試連接自己部署的網站應用程式了,但是奇怪的是,為什麼已經啟動了,外部還是無法連進網站。
那是因為目前啟動的網站只允許localhost做存取,所以無法讓其他非本地的使用者訪問,這時候我們就要將啟動的指令做些變更
ASPNETCORE_URLS="https://*:5001" dotnet <專案名稱>.dll
透過這個指令,可以讓直接訪問ip或是domain name的使用者能夠順利存取到網站