標籤:
一、閱讀前須知
1.本文屬於"完整發布",不經過Visual Studio2015 Update3發布,並且內建運行時的發布過程
2. 不需要在Linux下安裝.Net Core SDK
3.jexus版本:5.8.2
4.伺服器:centos7.1
二、手動發布步驟
1.使用VisualStudio2015 Update3建立 ASP.NET Core應用程式
2.找到工程根目錄下 "project.json"
2.1 禁用 "type"
2.2 注釋 "scripts"節點
2.3 添加 "runtimes"節點,centos7.1伺服器
2.4 CMD進入工程根目錄
cd /d 工程目錄
2.5 還原包
dotnet restore
2.6 發布
dotnet publish -r centos.7-x64
2.7 預覽手動發布後的目錄
\bin\Debug\netcoreapp1.0\centos.7-x64\publish
2.8 試運行 自宿主工作情況
cd /var/www/defaultdotnet CoreApp.dll
三、整合為Jexus網站,作為jexus進程後台運行
講講理由:
使用 jexus整合asp.net core的優點:
1)支援多網站,同一連接埠可以同時支援任何多的asp.net core應用程式;
2)應用程式啟動、停止、重啟與網站的啟動、停止、重啟等操作一致,無需手工管理asp.net core應用程式;
3)具有應用程式崩潰後自動重啟功能,為企業級不間斷運行保障;
4)具有比反向 Proxy更高的效能優勢。
5)提供與IIS相同的HTTP環境參數。
3.1 安裝jexus5.8.2
cd /tmpwget linuxdot.net/down/jexus-5.8.2-x64.tar.gztar zxvf jexus-5.8.2-x64.tar.gzcd jexus/cd siteconf/vi default
3.2 添加AppHost
(jexus作者介紹AppHost)
AppHost的配置格式是:
AppHost={CmdLine=應用程式命令列; AppRoot=應用程式工作目錄; Port=應用程式HTTP偵聽連接埠},其中:
"CmdLine" 表示啟動應用程式的命令列,如:dotnet /var/www/site1/app.dll;
"AppRoot"表示應用程式工作目錄,如:/var/www/site1;
"Port"表示這個HTTP應用程式所使用的偵聽連接埠,如:5000(Asp.Core預設連接埠是5000)。
3.3 將發布的程式拷貝到伺服器(\bin\Debug\netcoreapp1.0\centos.7-x64\publish\),本人用的是WinSCP
3.4 配置執行許可權(重點)
cd /var/www/defaultsudo chmod a+x CoreApp
ls
授權後:
3.5 啟動jexus
cd .././jws start
3.6 觀察asp.net core 連接埠情況
sudo netstat -lntp
3.7 到此一個帶運行時的發布就完成了,測試下是OK的(訪問連接埠:80,由jexus完成連接埠轉寄到5000)
四、交流學習
.NET Core & OWIN交流群:199281001
linuxdot.net交流群:102732979
ASP.NET Core "完整發布,內建運行時" 到jexus