使用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,获得端口自适应的优点。

好了,今天就写到这里吧!

相关文章
相关标签/搜索