在Linux環境下使用Jexus部署ASP.NET Core


關於如何在Linux中添加ASP.NET Core運行時環境請參考我的上一篇文章,本文章將不再做贅述。

本文章運行環境如下:
 



(1) 安裝獨立版Jexus

        本教程安裝的是獨立版的Jexus,獨立版的Jexus自帶Mono,使用的是Mono的穩定版本4.8。安裝 Jexus 直接使用一下命令即可(需要在root身份下執行):

    curl https://jexus.org/release/x64/install.sh|sh

安裝成功后會提示:OK, Jexus has been installed in /usr/jexus.

(2)創建一個ASP.NET Core應用

我們按照微軟官方的ASP.NET Core文檔新建一個ASP.NET Core MVC應用,輸入如下命令

 
cd /home                      //定位到home目錄  
 
dotnet new mvc -o aspnetcoreapp              // 在當前目錄下創建一個MVC Web應用
 
cd aspnetcoreapp                    //定位到aspnetcoreapp目錄
 
dotnet run               //運行應用


注意:此處可能會拋出Warn:“Unable to bind to  http://localhost:5000 on the IPv6 loopback interface: 'Error -99 EADDRNOTAVAIL address not available'”。微軟的解決方案: https://github.com/aspnet/KestrelHttpServer/issues/2117
        我嘗試使用     ASPNETCORE_URLS=" http://*:5000" dotnet run         替代    dotnet run     命令在特定的情況下可以解決此類問題




完美解決方案:在Program.cs類 BuildWebHost方法中 添加指定的端口



            
然后執行 dotnet run 命令即可完美解決此問題。





(3)生成ASP.NET Core部署文件  

我們將部署文件存放在 /var/www/aspnetcore 目錄下

命令如下:

mkdir -p /var/www/aspnetcore                 //新建目錄

cd /home/aspnetcoreapp/     //定位到項目工程下

dotnet publish -o /var/www/aspnetcore      //將項目工程發布在指定目錄下


發布后目錄結構如下:



 因為這是一個空的項目工程,所以我們將項目工程中的視圖部分復制到部署目錄中







我們來測試一下,部署工程是否運行正常

執行如下命令

dotnet /var/www/aspnetcore/aspnetcoreapp.dll





測試正常,至此,我們已完成部署結構,稍后我們將在Jexus上部署運行此工程。

(4)在Jexus 上部署 ASP.NET Core項目工程   

Jexus 中 一個配置文件對應一個網站,因為我們需要新建一個ASP.NET Core網站的配置文件

運行如下命令:

cd /usr/jexus/siteconf            //定位到Jexus網站配置文件目錄

cp default aspnetcore    //復制Jexus 提供的默認配置模版(這年頭誰手寫?)

vi aspnetcore    //打開我們新建的網站配置文件,然后修改如下內容(這是命令行修改,比較麻煩,忍忍就好了)




OK,我們已經完成了ASP.NET Core網站的配置文件,下一步讓我們把配置文件的默認模板干掉把

rm -rf /usr/jexus/siteconf/default      //干掉默認的配置模板

然后,讓我們啟動Jexus,看一下效果

如果你的Jexus已經啟動,運行如下命令

sh /usr/jexus/jws restart        //重啟Jexus

如果你的Jexus是停止狀態,運行如下命令

sh /usr/jexus/jws start        //啟動Jexus

附贈送停止命令

sh /usr/jexus/jws stop       //停止Jexus






讓我們看一下效果吧.


免責聲明!

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



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