使用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 >&
cd /tmp rm -rf jexus-5.8.* >/dev/null >&
wget --no-check-certificate https://linuxdot.net/down/jexus-5.8.3-x64.tar.gz
tar -zxvf jexus-5.8.-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 >& 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=
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=}
# 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. # TLSv1. or TLSv1....
# ssl.ciphers= # DenyFrom=192.168.0.233, 192.168..*, 192.168.2.0/
# 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
# 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:
就是关于站点的一些配置信息。于是,我新建了一个配置文件,名为api.xxx.com的配置文件,复制default内容到该文件。根据应用情况,进行参数配置:
######################
# Web Site: api.kaola100.com
######################################## port=
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=}
# 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. # TLSv1. or TLSv1....
# ssl.ciphers= # DenyFrom=192.168.0.233, 192.168..*, 192.168.2.0/
# 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
# 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:
另外,我这台服务器上.net core环境已经安装过了,主要配置信息如下:
port=
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=}
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,得到端口自适应的优势。
好了,今天就写到这里吧!
使用Jexus服务器运行Asp.Net Core2.0程序的更多相关文章
- 构建使用SQL服务器的ASP.net Core2.0 API
web api的教程非常少,使用 core2.0的更少,微软提供了一个aspnet core2的教程,也提供了EF core中访问SQL服务器的教程,参考这些教程可以做出使用sql server的as ...
- 将asp.net core2.0项目部署在IIS上运行
原文:将asp.net core2.0项目部署在IIS上运行 前言: 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是独立运行的.它独立运行在控 ...
- 【转】Asp.Net Core2.0获取客户IP地址,及解决发布到Ubuntu服务器获取不到正确IP解决办法
1.获取客户端IP地址实现方法(扩展类) using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.ModelBinding; u ...
- Asp.Net Core2.0获取客户IP地址,及解决发布到Ubuntu服务器获取不到正确IP解决办法
1.获取客户端IP地址实现方法(扩展类) using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.ModelBinding; u ...
- 一步一步带你做WebApi迁移ASP.NET Core2.0
随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中.我们有必要先说一下ASP.NET Core. ASP ...
- 在阿里云Windows Server 上部署ASP .NET CORE2.0项目
近期使用ASP.NET Core2.0对博客进行了重写,在部署到服务器时遇到了一些问题,来记录一下留用. 配置环境 安装 .Net Framework3.5 在IIS管理器上直接开启,这里总是失败,上 ...
- WebApi迁移ASP.NET Core2.0
WebApi迁移ASP.NET Core2.0 一步一步带你做WebApi迁移ASP.NET Core2.0 随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的AS ...
- .Net Core技术研究-WebApi迁移ASP.NET Core2.0
随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中.我们有必要先说一下ASP.NET Core. ASP ...
- 安装mono和jexus,运行asp.net程序
随笔- 62 文章- 1 评论- 7 raspberrypi(树莓派)上安装mono和jexus,运行asp.net程序 参考网址: http://www.linuxdot.net/ htt ...
随机推荐
- 168. Excel Sheet Column Title (Math)
Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...
- Codeforces Round #500 (Div. 2) [based on EJOI]
Codeforces Round #500 (Div. 2) [based on EJOI] https://codeforces.com/contest/1013 A #include<bit ...
- FortiGate路由模式--静态地址线路上网配置
1.需求:外网接口使用专线,由运营商分配指定的静态地址,内网为192.168.1.0/24网段,实现基本上网功能. 运营商分配ip地址:202.1.1.10,网关地址:202.1.1.9, DNS:2 ...
- [leetcode]36. Valid Sudoku验证数独
Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according to th ...
- Android 面试问答
Android 面试问答 目录 数据结构和算法 java核心知识 Android核心知识 架构 设计相关问题 相关工具和技术 Android 测试驱动开发 其他 数据结构和算法 ******关于此类问 ...
- 四 分析easyswoole源码(启动服务&Cache组件原理)
前文提到的在系统设置Cache组件 Cache::getInstance()的时候,会去调用processManager去创建Cache的进程,然后以管道通信的方式进行设置缓存和获取缓存. Cache ...
- python 根据字符串内数字排序
当我们使用python给一个由字符串组成的列表排序时,常常会排成这样 [‘10a’, ‘11b’, ‘1c’, ‘20d’, ‘21e’, ‘2f’] 这样的形式 ,然而我们想要 [ ‘1c’,‘2f ...
- 渗透测试的理论部分2——OSSTMM的详细描述
昨天休息了一天,今天我要连更两篇博客,作为补充,以下为正文 本章详细描述了OSSTMM内的RAV得分这一理论概念,对日后从事正规安全工作至关重要 OSSTMM为开源安全测试方法论,对OSSTMM不了解 ...
- PC平台在Unity3D中播放硬盘ogg,mp3,wav文件
Unity3D PC平台本身是支持直接用www读取本地ogg,wav的,但是并不能读取byte[],字节数组格式,这对用习惯了bass,fmod的人来说有点不方便. 搜了一圈发现了一个C#的音频库叫N ...
- TensorFlow 计算模型 -- 计算图
TensorFlow是一个通过计算图的形式表述计算机的编程系统 TensorFlow程序一般分为两个阶段,第一个阶段需要定义计算图中所有的计算(变量) 第二个阶段为执行计算 如以下代码 import ...