Abp(.NetCore)開發與發布過程3-部署Ubuntu站點


以下是筆者在 Ubuntu 16.0-64bit 環境下 發布 ABP(.NetCore)的全過程。特此記錄,希望對大家有所幫助。

准備的工具

1.PuTTY(ssh,如果不想每次都用阿里雲的遠程登錄,那么可以試試這個。)

2.WinSCP(圖形化SFTP客戶端,美觀又好用)

3.Ubuntu 16.0-64bit

    


 

Step 1  搭建 .NetCore運行環境 

   1)添加 dotnet apt-get 支持文件(Ubuntu 16.04 / Linux Mint 18環境)

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B02C46DF417A0893
sudo apt-get update

    2)安裝 .NET Core SDK

sudo apt-get install dotnet-dev-1.0.4

 

  檢驗安裝結果: 運行 dotnet 后如果是如下結果,則說明安裝成功

dotnet

 

Step 2  發布項目

習慣用命令行 發布項目(不知道什么時候養成的怪癖)  在項目的根目錄里,有一個build文件夾,進入此文件夾,運行  build-mvc.ps1

   

cd C:\Users\Zac\Desktop\YourProductName\build .\build-mvc.ps1

 

等待發布完成. . .  會發現生成了一個outputs文件夾,發布生成的文件全部打包至了Mvc文件夾中。

(up.ps1 和 down.ps1 是在需要發布到Docker容器中時使用的ps腳本。)

至此 發布工作已結束。

特別要注意:

當你的項目需要遠程鏈接數據庫時,請先配置好數據庫服務器(包括登錄用戶權限設置,TCP UDP 開放端口設置。默認TCP端口1433,UDP端口1434,如果防火牆啟動,需要將sqlserver.exe添加到允許列表阿里雲安全組設置等等...全是踩過的坑)

其次,注意配置好連接字符串,在 appsettings.json 中。

  "ConnectionStrings": { "Default": "Data Source=xx.xx.xx.xx; Initial Catalog=YourDB; User Id=sa; password=yourpassword; MultipleActiveResultSets=True;" },

 

 

以下兩種是錯誤的鏈接字符串配置:

"ConnectionStrings": { "Default": "Server=xx.xx.xx.xx; Database=YourDb; User=zac; Password=123qwe;" },

 

"ConnectionStrings": { "Default": "Data Source=xx.xx.xx.xx\/YourDb; User=zac; Password=123qwe;" },

 

在連接字符串錯誤的情況下,運行項目將導致以下錯誤發生:

Unhandled Exception: System.NotSupportedException: The keyword 'integrated security' is not supported on this platform.

 

 


 

Step 3  復制發布文件至服務器

之前提到的WinSCP該派上用場了。(WinSCP下載鏈接

   1)打開 WinSCP 鏈接至你的服務器。

  如圖,左邊是本地文件資源,右邊是服務器文件資源。支持在文件夾中拖拽上傳文件。

   2)將上一步發布的文件夾(MVC)上傳至服務器。

  如圖所示,已經將所有生成的文件都上傳至build文件夾下。


 

Step 4  運行

進入項目入口所在的文件夾(例如,你的項目名稱為 MyProduct,那么運行的文件應該就是 MyProduct.Web.Mvc.dll,完整的路徑就是 root/zac/Mvc/build/MyProduct.Web.Mvc.dll  Linux下路徑是區分大小寫的

cd  zac/Mvc/build

 

運行 MyProduct.Web.Mvc.dll

dotnet MyProduct.Web.Mvc.dll

如果一切順利的話,輸出如下

一切OK 訪問一下你的網站吧!(先別急,看看你的阿里雲安全組有沒有開發相應的端口。)

 


 

其他

.NetCore安裝參考網址,https://www.microsoft.com/net/core#centos

.NetCore下載地址,https://www.microsoft.com/net/download#core


免責聲明!

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



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