1、閱讀前須知html
1.使用 jexus整合asp.net core的優勢:linux
1)支持多站點,同一端口能夠同時支持任何多的asp.net core應用程序;
2)應用程序啓動、中止、重啓與站點的啓動、中止、重啓等操做一致,無需手工管理asp.net core應用程序;
3)具備應用程序崩潰後自動重啓功能,爲企業級不間斷運行保障;
4)具備比反向代理更高的性能優點。 json
5)提供與IIS相同的HTTP環境參數。centos
2.本文屬於"完整發布",不通過Visual Studio2015 Update3發佈,而且自帶運行時的發佈過程服務器
3.不須要在Linux下安裝.Net Core SDKapp
2、手動發佈步驟
asp.net
1.使用VisualStudio2015 Update3新建 ASP.NET Core應用程序post
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
3、整合爲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)
4、交流學習
.NET Core & OWIN交流羣:199281001 linuxdot.net交流羣:102732979