一、閱讀前須知
1.使用 jexus整合asp.net core的優點:
1)支援多站點,同一端口可以同時支援任何多的asp.net core應用程式;
2)應用程式啟動、停止、重新開機與站點的啟動、停止、重新開機等操作一緻,無需手工管理asp.net core應用程式;
3)具有應用程式崩潰後自動重新開機功能,為企業級不間斷運作保障;
4)具有比反向代理更高的性能優勢。
5)提供與IIS相同的HTTP環境參數。
2.本文屬于"完整釋出",不經過Visual Studio2015 Update3釋出,并且自帶運作時的釋出過程
3.不需要在Linux下安裝.Net Core SDK
二、手動釋出步驟
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
三、整合為Jexus站點,作為jexus程序背景運作
3.1 安裝jexus5.8.2
cd /tmp
wget linuxdot.net/down/jexus-5.8.2-x64.tar.gz
tar zxvf jexus-5.8.2-x64.tar.gz
cd jexus/
cd siteconf/
vi default
3.2 添加AppHost
(jexus作者介紹AppHost)
AppHost的配置格式是:
AppHost={CmdLine=應用程式指令行; workRoot=應用程式工作目錄; Port=應用程式HTTP偵聽端口},其中:
"CmdLine" 表示啟動應用程式的指令行,如:dotnet /var/www/site1/app.dll;
"workRoot"表示應用程式工作目錄,如:/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/default
sudo chmod a+x CoreApp
ls
授權後:
3.5 試運作自宿主工作情況
cd /var/www/default
dotnet CoreApp.dll
為什麼在jexus正式管控它之前要手工試試?
1)確定應用可以成功開啟
2)減少排錯步驟
3)确認端口号
3.6 啟動jexus
cd ../
./jws start
3.7 觀察asp.net core 端口情況
sudo netstat -lntp
3.8 到此一個帶運作時的釋出就完成了,測試下是OK的(通路端口:80,由jexus完成端口轉發到5000)
來自:http://www.cnblogs.com/gaobing/p/5663012.html