使用Jexus服務器運行Asp.Net Core2.0程序

前段時間寫了篇關於.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,獲得端口自適應的優點。

好了,今天就寫到這裏吧!

相關文章
相關標籤/搜索