這里安裝的Jexus不是獨立版本,所以需要先安裝Mono,Mono只是為了支持Jexus非獨立版本的運行,和.net core 沒有關系,使用
jexus“獨立版”,避免安裝mono的麻煩。官方網站:
https://www.jexus.org/
系統版本:Cenos7,Mono版本:5.0.1 Stable (5.0.1.1)
一.添加Mono倉庫到系統
以root身份執行下面的命令:
yum install yum-utils rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" yum-config-manager --add-repo http://download.mono-project.com/repo/centos7/
二.安裝Mono
yum install mono-devel
等待漫長的安裝過程...
安裝成功:
三.測試Mono環境
1.新建一個文件名為hello.cs,內容如下:
using System; public class HelloWorld { static public void Main () { Console.WriteLine ("Hello Mono World"); } }
2.執行命令編譯
mcs hello.cs
編譯成功會出現 hello.exe
3.執行命令運行hello.exe
運行成功會輸出一句經典的“Hello Mono Word”!


如若成功輸出,那么mono環境便安裝成功
四.安裝Jexus5.8.2
1.執行下面的命令安裝jexus
cd /tmp wget linuxdot.net/down/jexus-5.8.2.tar.gz tar -zxvf jexus-5.8.2.tar.gz cd jexus-5.8.2
安裝成功會有如下提示!
五.檢查Jexus是否正常工作
啟動 /usr/jexus/jws start
停止 /usr/jexus/jws stop
重啟 /usr/jexus/jws restart

六.創建站點
首先得建“網站配置文件”,在/usr/jexus/siteconf中的每一個文件都是一個網站的配置文件,每一個配置文件就代表一個網站。
安裝jexus后,在/usr/jexus/siteocnf中,就已經有一個默認的網站配置文件,文件名叫“default”。
你可以修改這個配置文件,也可以將這個配置文件復制並修改為一個新站。
配置文件中,有關鍵的三項是必填項:
port:端口號定義
root:虛擬根路徑和物理根路徑的定義
hosts:域名定義
端口號(port)是一個整數,一般是80,也可以是65535以下的其它整數,但這個端口號必須沒有其它服務程序占用。
根路徑(root)由兩部分組成,中間用空格分開。空格前表示這個網站訪問時的虛擬根路徑(一般都是“/”),空格后是存放這個網站內容的文件夾的物理路徑(比如“/var/www/default”)。
域名(hosts),填寫訪問這個網站的域名,如果有多個域名,域名間就英文逗號分開,同時還可以用“泛域名”,比如“*.mysite.com”。
網站名:jexus把網站配置文件的名稱,作為網站名。
** 強調,網站配置文件名,不能有空格,第一個字符不能是“~”。
執行以下命令,創建網站目錄:
mkdir /wwwroot/test cd /wwwroot/test
上傳網站文件到 test 目錄,然后修改jexus站點配置,這里使用默認配置 default
cd /usr/jexus/siteconf vim defalut
修改配置如下圖:
修改完成,保存退出!
執行命令重啟jexus:
/usr/jexus/jws restart
然后輸入ip即可正常訪問,這里我傳的是一個簡單的html網頁
七.設置jexus自動啟動
1.新建 jexus.service
cd /lib/systemd/system vim jexus.service
向文件 jexus.service 粘貼下面的內容並保存:
[Unit] Description=jexus After=network.target [Service] Type=forking ExecStart=/usr/jexus/jws start ExecReload=/usr/jexus/jws restart ExecStop=/usr/jexus/jws stop PrivateTmp=true [Install] WantedBy=multi-user.target
執行命令,加入服務:
systemctl enable jexus.service
啟動服務:
systemctl start jexus.service
查看服務狀態:
systemctl status jexus.service
重啟測試:
reboot
等待重啟完成,執行命令查看服務狀態,若啟動則為設置成功!
至此,Jexus的安裝和配置全部結束了,還是很簡單的,下面為大家帶來使用Jexus運行Asp.net core程序。
八.安裝.net core
這里使用的是centos版本的,其他版本請查看:
https://www.microsoft.com/net/download/linux
1.執行命令安裝
sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=848821 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin
2.驗證安裝
(1)輸入命令 dotnet --info 可以查看信息

(2)創建一個hello word程序來驗證
dotnet new console -o hwapp cd hwapp dotnet restore dotnet run
如果輸出 Hello Word!即代表.net core 安裝成功!
上圖我使用的是另一台機子截的圖,不知道為啥 前面使用的機子無法使用dotnet new命令創建項目,提示無法找到模版,運行net core程序倒是沒問題。
九.部署asp.net core程序
1.使用命令發布asp.net core程序
dotnet publish
2.使用ftp等工具上傳至服務器
這里我放在/wwwroot/student
3.執行dotnet命令運行程序,.確保程序可以正確運行

3.配置Jexus
cd /usr/jexus/siteconf vim default
配置如下圖:

主要是: AppHost={cmd=dotnet /wwwroot/student/xxxxx.dll; root=/wwwroot/student; port=5000}
AppHost的配置格式是:
AppHost={CmdLine=應用程序命令行; AppRoot=應用程序工作目錄; Port=應用程序HTTP偵聽端口},其中:
“CmdLine”表示啟動應用程序的命令行,如:dotnet /var/www/site1/app.dll;
“AppRoot”表示應用程序工作目錄,如:/var/www/site1;
“Port”表示這個HTTP應用程序所使用的偵聽端口,如:5000(Asp.Core默認端口是5000)。
例如,假設Asp.Net Core應用程序存放的路徑在“/var/www/mysite”,其啟動程序存放在該文件夾中,名稱是“webapp”,程序啟動后的偵聽端口是5000,那么,AppHost配置應為:
AppHost={CmdLine=/var/www/mysite/webapp;AppRoot=/var/www/mysite; port=5000 }
4.啟動jexus服務,並查看網站
systemctl start jexus.service
這里演示使用的是ABP框架的asp.net zero項目
十.使用Jexus運行asp.net core的好處
1,
配置簡便:在Jexus上,Asp.net core只是Jexus上的一個“站點”,因此,只需在Jexus上配置這個站點就行,無需其它配置;
2,
操作統一:Jexus停止這個站點就自動停止asp.net core應用,同樣地,啟動這個站點就自動啟動對應的core應用程序,無需多頭操作;
3,
高性能:Jexus本身是一款與nginx性能相當的高性能Web服務器,而Jexus與Asp.net core之間,是TCP轉發,不是反向代理之類的HTTP轉發,沒有Http協議解析和重組的性能消耗,因此,Jexus能更好的呈現Asp.net Core的高性能優勢;
4,
端口自適應:在Jexus上,asp.net core不需要設置任何端口號,從而有效避免了多個asp.net core應用程序很可能出現的端口沖突這個讓運維人員頭疼的難題;
5,
高度可靠性:如果core應用程序意外崩潰,Jexus會立即把它拉起來,從而做到7*24不間斷運行;
6,
支持WebSocket:因為是TCP轉發,所以,對應用層協議沒有限制。
7,AppHost的port值設為0,得到端口自適應的優勢。
mono安裝過於麻煩,且等待時間長,使用jexus“獨立版”,避免安裝mono的麻煩。官方網站:https://www.jexus.org/
相關文章:
寫完了~最后感謝jexus的作者 宇內流雲 寫出這么好用的服務器。