ASP.NET Core "完整發布,自帶運行時" 到jexus


一、閱讀前須知

  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)

 

 

四、交流學習

  .NET Core & OWIN交流群:199281001

  linuxdot.net交流群:102732979


免責聲明!

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



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