• 使用Jexus服务器运行Asp.Net Core2.0程序


    前段时间写了篇关于.net core跨平台部署的文章。https://my.oschina.net/lichaoqiang/blog/1861977

    主要讲述了,利用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,得到端口自适应的优势。

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

  • 相关阅读:
    java主函数的含义
    this关键字简单应用
    如何将util.Date转化为sql.Date
    利用JavaScript来实现省份—市县的二级联动
    通过Ajax异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
    折半查找(java)(边学习边更新)
    第五章 上
    Jframe关闭窗口时的事件
    C#退出程序自动重新启动
    Extjs4.0 开发笔记与Easyui的整合
  • 原文地址:https://www.cnblogs.com/ibeisha/p/jexus-net.html
Copyright © 2020-2023  润新知