主要讲述了, 利用 Nginx+CentOS+Supervisor+.NetCore2.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={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 环境已经安装过了, 主要配置信息如下:
- 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, 得到端口自适应的优势.
好了, 今天就写到这里吧!
来源: https://www.cnblogs.com/ibeisha/p/jexus-net.html