使用Jexus服务器运行ASP.NET Core 2.0程序

来源:李朝强

cnblogs.com/ibeisha/p/jexus-net.html

写了篇关于.NET Core跨平台部署的文章《CentOS+Nginx+Supervisor部署ASP.NET Core项目》。

主要讲述利用Nginx+CentOS+Supervisor+.NET Core2.1,来运行.NET Core程序,感兴趣的朋友可以看一下。今天向大家介绍.net core使用jexus服务器的配置方法。

关于Jexus的介绍,大家可以在https://www.jexus.org/这个网站网站了解,现在的版本是V5.8.3。

jexus的安装非常简单,按照官网的说法,只要执行以下命令就能完成jexus的安装。

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

就是下载和执行了一个sh脚本,让我们来看看,脚本中都写了些什么?

#!/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的文件。打开看看:

######################

# 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=

# 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/

# 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

######################

########################################

port=8018

root=/ /wwwroot/TiKu/Api

hosts=* #OR your.com,*.your.com

# addr=0.0.0.0

# CheckQuery=false

NoLog=true

AppHost=

# 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/

# 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环境已经安装过了,主要配置信息如下:

port=8018

root=/ /wwwroot/TiKu/Api

hosts=* #OR your.com,*.your.com

# addr=0.0.0.0

# CheckQuery=false

NoLog=true

AppHost=

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后面,可以指定启动/停止/重启哪个站点,如:

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,得到端口自适应的优势。

看完本文有收获?请转发分享给更多人

关注「DotNet」,提升.Net技能

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180810B0N58F00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券

,,