HTML5技术

Linux使用Jexus托管Asp.Net Core应用程序 - 玩双截棍的熊猫

字号+ 作者:H5之家 来源:H5之家 2017-05-15 08:06 我要评论( )

第一步 安装.Net Core环境 安装 dotnet 环境参见官方网站。 选择对应的系统版本进行安装。安装完成过后 输入命令查看版本,目前最新版为 1.04: dotnet --version 此时已经可以发布Asp.Net Core应用程序到Linux上运行了 将Asp.Net Core程序发布到Linux服务器

第一步 安装.Net Core环境

安装 dotnet 环境参见官方网站 。

选择对应的系统版本进行安装。安装完成过后 输入命令查看版本,目前最新版为 1.04:

dotnet --version

此时已经可以发布Asp.Net Core应用程序到Linux上运行了

将Asp.Net Core程序发布到Linux服务器上,通过 dotnet 命令来运行,如:

dotnet /应用程序全路径/应用程序名.dll

成功运行后会显示 :  

Hosting environment: Production Content root path: /应用程序全路径/ Now listening on: :5000 Application started. Press Ctrl+C to shut down.

(Asp.Net Core应用程序默认使用5000端口,可以在项目 Program.cs 中进行自定义端口,但不建议在Program.cs中进行自定义端口)

但是这个时候,只要关闭当前的 ssh 会话 那么 Asp.Net Core应用程序就会结束运行。

那么该怎么办呢?使用 Jexus ! (需要使用5.8.2 版本或更高版本的)https://news.cnblogs.com/n/569277/

Jexus 官网地址: https://www.jexus.org/

Jexus 官网论坛: https://www.linuxdot.net

 

第二步 安装Jexus

安装 Jexus 直接使用一下命令即可(需要在root身份下执行):

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

安装成功后会提示:OK, Jexus has been installed in /usr/jexus.

 

第三步 发布程序到Linux服务器

将的Asp.Net Core 应用程序文件夹 发布到Linux服务器的  /var/www/   路径下

(如果 www 文件夹不存在,则使用    mkdir /var/www/    命令创建 www 文件夹)

此时,应用程序所在的完整路径为    /var/www/应用程序文件夹/应用程序名称.dll

 

第四步 配置Jexus运行Asp.Net Core应用程序

 

使用以下命令:

1、切换到Jexus配置文件目录

cd /usr/jexus/siteconf

2、复制默认的配置文件为test

cp default test

3、编辑test配置文件

vi test

test文件默认内容为:

###################### # 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 301 # ResponseHandler.Add=myKey:myValue # Jexus php fastcgi address ####################################################### # fastcgi.add=php|socket:/var/run/jexus/phpsvr # php-fpm listen address ############################################ # fastcgi.add=php|tcp:127.0.0.1:9000

编辑完成后 test 的内容为(注意AppHost中的每一项结尾应该有英文半角的分号):

###################### # Web Site: test ######################################## port=8888 root=/ /var/www/应用程序文件夹/ hosts=* #OR your.com,*.your.com AppHost={ cmd=dotnet 应用程序名称.dll; root=/var/www/应用程序文件夹/; port=0; } # 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 301 # ResponseHandler.Add=myKey:myValue # Jexus php fastcgi address ####################################################### # fastcgi.add=php|socket:/var/run/jexus/phpsvr # php-fpm listen address ############################################ # fastcgi.add=php|tcp:127.0.0.1:9000

编辑完成后,在英文半角输入法下   按 Esc 键 输入  :wq  完成保存文件修改并退出  (以上修改会在下面进行详细说明)

 

4、启动/重启 Jexus

当配置文件编辑完成后使用以下命令对Jexus进行 启动/重启

# 如果已启动 Jexus: sh /usr/jexus/jws restart # 如果未启动 Jexus: sh /usr/jexus/jws start

 

启动/重启成功后,在浏览器中输入  ip地址/域名:端口号 例如(192.168.1.1:8888 或 :8888 )  即可访问Asp.Net Core应用程序

以上即是Jexus托管Asp.Net Core应用程序的配置全过程

 

 

 

通过微软官方的介绍,Asp.Net Core应用程序是运行在 Kestrel 服务器上的,

那么Jexus和Kestrel之间的关系什么呢?正如 Apache与Tomcat之间的关系.

Jexus作为Web服务器,Kestrel是应用服务器,Jexus会将浏览器发送的请求转交给Kestrel,Kestrel 根据请求 交给Asp.Net Core应用程序 处理后将处理结果返回到到Jexus,再由Jexus响应到浏览器,如图所示:

通过上面的图片我们可以看到一次完整的请求响应的过程。

那么Jexus是怎么将请求转发到 Kestrel 服务器中的Asp.Net Core应用程序上的呢?

这里不得不感叹Jexus的强力与使用的便捷,只需要简单的编辑配置文件即可。

在上面 第四步 配置Jexus运行Asp.Net Core应用程序 时,test文件编辑后的内容含义 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 使用JS开发桌面端应用程序NW.js-1-Menu菜单的使用小记 - 小小沧海

    使用JS开发桌面端应用程序NW.js-1-Menu菜单的使用小记 - 小小沧海

    2017-05-13 10:00

  • 使用测试用例来约束自己的代码 - 陈宏鸿

    使用测试用例来约束自己的代码 - 陈宏鸿

    2017-05-09 14:00

  • 【Vue 入门】使用 Vue2 开发一个展示项目列表的应用 - zhangjk

    【Vue 入门】使用 Vue2 开发一个展示项目列表的应用 - zhangjk

    2017-04-30 16:00

  • 对于Bootstrap的介绍以及如何使用 - novai-L

    对于Bootstrap的介绍以及如何使用 - novai-L

    2017-04-29 09:00

网友点评
f