前段時間寫了篇關於.net core跨平臺部署的文章。https://my.oschina.net/lichaoqiang/blog/1861977php
主要講述了,利用Nginx+CentOS+Supervisor+.NetCore2.1,來運行.net core程序,感興趣的朋友能夠看一下。今天向你們介紹.net core使用jexus服務器的配置方法。linux
關於Jexus的介紹,你們能夠在https://www.jexus.org/這個網站網站了解,如今的版本是V5.8.3。jexus的安裝很是簡單,按照官網的說法,nginx
只要執行如下命令就能完成jexus的安裝。api
curl https://jexus.org/release/x64/install.sh|sudo sh
就是下載和執行了一個sh腳本,讓咱們來看看,腳本中都寫了些什麼?bash
#!/bin/sh /usr/jexus/jws stop >/dev/null 2>&1 cd /tmp rm -rf jexus-5.8.* >/dev/null 2>&1 wget --no-check-certificate https://linuxdot.net/down/jexus-5.8.3-x64.tar.gz tar -zxvf jexus-5.8.3-x64.tar.gz cp -rf jexus /usr/ cd /usr/jexus /usr/jexus/jws regsvr rm -rf /tmp/jexus rm -rf /tmp/jexus-5.8.* >/dev/null 2>&1 cd /usr/jexus echo 'OK, Jexus has been installed in /usr/jexus.'
打開一看,步驟很是清晰吧。服務器
我目前使用的服務器是CentOS7.0+,首次執行jexus腳本未發生任何異常。因爲個人服務器安裝了NGINX,所以,爲避免端口衝突,我先關閉了Nginx進程。等安裝成功後,咱們能夠在/usr/jexus目錄下看到相關文件及配置信息,咱們的站點配置,主要在sitconfig這個文件夾下。網絡
默認,有個default的文件。打開看看:asp.net
###################### # Web Site: Default ######################################## port=80 root=/ /var/www/default hosts=* #OR your.com,*.your.com # addr=0.0.0.0 # CheckQuery=false NoLog=true # AppHost={CmdLine=/usr/local/x/xx;AppRoot=/usr/local/x;Port=5000} # NoFile=/index.aspx # Keep_Alive=false # UseGZIP=false # UseHttps=true # ssl.certificate=/x/xxx.crt #or pem # ssl.certificatekey=/x/xxx.key # ssl.protocol=TLSv1.0 # TLSv1.1 or TLSv1.2... # ssl.ciphers= # DenyFrom=192.168.0.233, 192.168.1.*, 192.168.2.0/24 # AllowFrom=192.168.*.* # DenyDirs=~/cgi, ~/upfiles # indexes=myindex.aspx # rewrite=^/.+?\.(asp|php|cgi|pl|sh)$ /index.aspx # reproxy=/bbs/ http://192.168.1.112/bbs/ # host.Redirect=abc.com www.abc.com 301 # ResponseHandler.Add=myKey:myValue # Jexus php fastcgi address is '/var/run/jexus/phpsvr' ####################################################### # fastcgi.add=php|socket:/var/run/jexus/phpsvr # php-fpm listen address is '127.0.0.1:9000' ############################################ # fastcgi.add=php|tcp:127.0.0.1:9000
就是關於站點的一些配置信息。因而,我新建了一個配置文件,名爲api.xxx.com的配置文件,複製default內容到該文件。根據應用狀況,進行參數配置:運維
###################### # Web Site: api.kaola100.com ######################################## port=8018 root=/ /wwwroot/TiKu/Api hosts=* #OR your.com,*.your.com # addr=0.0.0.0 # CheckQuery=false NoLog=true AppHost={CmdLine=dotnet TiKu.Api.dll;AppRoot=/wwwroot/TiKu/Api;Port=5000} # NoFile=/index.aspx # Keep_Alive=false # UseGZIP=false # UseHttps=true # ssl.certificate=/x/xxx.crt #or pem # ssl.certificatekey=/x/xxx.key # ssl.protocol=TLSv1.0 # TLSv1.1 or TLSv1.2... # ssl.ciphers= # DenyFrom=192.168.0.233, 192.168.1.*, 192.168.2.0/24 # AllowFrom=192.168.*.* # DenyDirs=~/cgi, ~/upfiles # indexes=myindex.aspx # rewrite=^/.+?\.(asp|php|cgi|pl|sh)$ /index.aspx # reproxy=/bbs/ http://192.168.1.112/bbs/ # host.Redirect=abc.com www.abc.com 301 # ResponseHandler.Add=myKey:myValue # Jexus php fastcgi address is '/var/run/jexus/phpsvr' ####################################################### # fastcgi.add=php|socket:/var/run/jexus/phpsvr # php-fpm listen address is '127.0.0.1:9000' ############################################ # fastcgi.add=php|tcp:127.0.0.1:9000
另外,我這臺服務器上.net core環境已經安裝過了。主要配置信息以下:curl
port=8018 root=/ /wwwroot/TiKu/Api hosts=* #OR your.com,*.your.com # addr=0.0.0.0 # CheckQuery=false NoLog=true AppHost={CmdLine=dotnet TiKu.Api.dll;AppRoot=/wwwroot/TiKu/Api;Port=5000}
port對監聽端口進行配置,root指定當前項目的根目錄。hosts默認吧。AppHost中,指定了應用啓動執行的命令及網站根目錄、端口等。
完成以上配置,咱們執行jexus啓動命令便可。
sh /usr/jexus/jws start
jexus經常使用命令:
Jexus包括以下操做命令(首先 cd /usr/jexus): 啓動:sudo ./jws start 中止:sudo ./jws stop 重啓:sudo ./jws restart
也可jws start後面,能夠指定啓動/中止/重啓哪一個站點,如:
sudo ./jws start api.xxx.com
start後面跟配置文件名便可!
執行上述操做後,咱們就能夠看到運行起來的.net core程序了!
關於使用jexus的好處,借用網絡上的一些話!
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,獲得端口自適應的優點。
好了,今天就寫到這裏吧!