在Linux/Unix上架设ASP.NET WEB服务器,有两个可选方式,一种是Mono+XSP,一种是Mono+Jexus,其它的方式,比如 Apache+mod_mono、Nginx+FastCgi 等等,其实质与XSP并无区别,都是使用Mono所提供的ASP.NET处理模块:Mono.WebServer名字空间实现对ASP.NET网站的支 持。Jexus不但具有跨平台ASP.NET服务器这样的标志性特征,同时还拥有内核级的安全监控、入侵检测、URL重写、无文件路由等一系列重要功能和 专有特性。那么XSP和Jexus有什么区别呢:

  1. 速度方面: 对于ASP.NET网页,大压力访问时Jexus处理速度更快; 对于静态文件,Jexus远快于XSP,而且对磁盘的要求和影响小N倍;
  2. 功能方面:   XSP是以ASP.NET测试工作开发的,功能单调,而Jexus是作为生产环境使用的真实的WEB服务开发的,功能全面,因此,xsp与Jexus在功能上可比性
  3. 稳定性方面: Jexus有良好的容错和自动纠错能力,可以长期不间断运行,而XSP是单进程程序,没有任何自动纠错机制,无法保持不间断运行。
  4. 安全性方面: Jexus有关键的入侵检测功能,XSP没有任何安全检测功能,没有可比性;
  5. 多站点支持: XSP支持一站,Jexus支持任意多网站。

今天将一篇介绍Jexus的文章发布在InfoQ:LINUX ASP.NET WEB服务器:JEXUS,Jexus for linux 有如下特点:

  1. 支持多种操作系统:Jexus最初的设计目标是“跨平台的ASP.NET WEB服务器”,由于在Windows系统上,IIS已经是ASP.NET的优秀平台,所以,当前的Jexus以支持Linux和FreeBSD等非 Windows系统为主要设计目标。正因为这个原因,就Linux/FreeBSD等平台的ASP.NET建设而言,Jexus具有特别重大的意义。
  2. 高性能:“高性能”是Jexus的重要的设计目标。虽然Jexus基于Mono环境运行,但Jexus并非全部由Mono的.NET组件构成,对 于涉及性能的关键代码,Jexus非常巧妙地大量采用了Linux/Unix本身的优秀特性,从代码层保证了Jexus的性能优势。

    时,Jexus的框架特征也为高性能提供了基础保证。Jexus不象XSP那样,纯HTML也需要经过ASP.NET处理,更不象Apache和
    Nginx等服务器,需要通过插件的形式间接地对ASP.NET进行支持,Jexus把HMTL静态文件处理模块、ASP.NET处理模块、静态文件高速
    缓存机制、epoll/poll数据传输机制等进行了高度集成,从架构本身入手,最大限度地提高WEB服务器的处理能力和传输速度。
  3. 安全性:Jexus内核含有安全监控机制,绝大多数恶意访问在进入网站前就会被Jexus直接禁止,这是Jexus有别于其它WEB服务器的又一大特色,所以,Jexus特别适合那些对安全要求较高的企业网站或政府网站使用。
  4. 稳定性:从运行机制而言,Jexus系统中,有专门检测工作进程执行状态的管理单元,任何一个进程退出或者任何一个ASP.NET网站应用程序域
    退出,被会被管理单元发现并得到重启,从而保证了Jexus能够7*24小时不间断工作;从程序本身而言,Jexus程序代码力求简洁,BUG很少,同
    时,Jexus的每个版本在正式发布之前,都要经过严格的压力测试,影响稳定性的因素,几乎在正式发布之前即已被全部排除。
  5. 功能强大:Jexus支持URL重写,支持多目标服务器的反向代理,支持PHP,支持GZIP压缩传输,并且,可以利用不同端口、不同虚拟路径、不同域名设置任意数量的网站,这些功能要素,表明了Jexus是一款功能完整而强劲的WEB服务器。
  6. 安装、配置、操作极为简单,服务社区化,各种问题能得到快速的处理,有良好的后续服务支撑能力。

Mono项目从Mono于2004年7月30日发布了1.0版本,Jexus的作者“宇内流云”开发Jexus的最初立意是因为他要在linux平台建asp.net网站,但是,尝试了很多方法后,总感到不满意,所以才自己亲自开发一个出来。

2008年10月18日,Jexus 1.0版正式发布,随后,Jexus就逐渐进入了实际应用, JEXUS技术社区杰兴网最先采用Jexus在Linux系统上架设ASP.NE服务器,让其得到了实践的检验。当前,一些企业网站、政府网站也开始基于Linux+Jexus进行建设。网友大哲在论坛中分享了使用JEXUS在SUSE 10企业版下开发的ASP.NET项目 中天证券,有兴趣的朋友可以通过JEXUS技术社区的下面的帖子了解详细的信息。

下面截2张图给大家证明下目前这些网站确实使用的Jexus运行的ASP.NET程序,大家也可以自己用HttpWatch之类的工具自行检查,第一个图是中天证券http://www.stockren.com/

第二个图是四川蓬溪县人民政府网站http://www.pengxi.gov.cn

随着Jexus应用的普及和深入,Jexus技术支持社区日趋活跃,热心网友针对不同平台发布了许多关于Jexus的技术文章,下面收集的是最近写的:

  1. Ubuntu Server上搭建可用于生产环境的ASP.NET服务器
  2. FreeBSD 8.0搭建nginx+jexus+php+asp.net+mysql脚本
  3. CentOS yum mono 支持asp.net
  4. CentOS编译Jexus4+Mono2.8
  5. ASP.NET也可以运行于UNIX/LINUX平台:Jexus webserver

大家可以关注我的微博上的Mono 话题:http://t.qq.com/k/Mono,到JEXUS技术社区 和 Jexus的QQ群 103810355 去了解更详细的信息。

Jexus
v4.1版已于2011年1月1日正式发布,支持Linux、FreeBSD,支持Mono2.4.3-2.8.1,支持ASP.NET
2.0-3.5,较之旧版本,V4.1在性能、稳定性等方面都有很大的提高,处理静态文件的速度是V4.0版的1.2-1.5倍,是3.x版的
1.8-2.3倍,压力测试表明,V4.1整体素质表现突出,是一款优秀的ASP.NET WEB服务器。 下载地址 linux.j66.net/down/jexus-4.1.tar.gz

国外专门介绍Mono的安装、配置等问题的网站 http://www.integratedwebsystems.com/

(转)推荐一个在Linux/Unix上架设ASP.NET的 WEB服务器--Jexus的更多相关文章

  1. Linux/UNIX 上安装 MySQL

    Linux/UNIX 上安装 MySQL Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: MySQL - MySQL服务器.你需要该选项,除非你只想连 ...

  2. [转]Linux Ubuntu上架设FTP

    Linux Ubuntu上架设FTP http://www.blogjava.net/stonestyle/articles/369104.html 操作系统:ubuntu (GNU/Linux) 为 ...

  3. Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器

    目录 Linux - nginx+uWSGI+django+virtualenv+supervisor发布web服务器 crm django项目部署流程 使用supervisro启动uwsgi,退出虚 ...

  4. 无法在Web服务器上启动调试,与Web服务器通信时出现身份验证错误

    问题描述: 我使用的是修改hosts,模拟真实网址来进行调试的.具体是这样的:我修改hosts文件,把某个域名,如www.163.com映射为127.0.0.1,然后在IIS信息管理器中,创建一个网站 ...

  5. Linux Ubuntu上架设FTP

    操作系统:ubuntu (GNU/Linux) 为了在机子上架设ftp服务器,我们需要安装ftp服务器软件.Linux下具有代表性的ftp服务器软件有Wu-FTP,ProFTP和Vsftp.Wu-FT ...

  6. (006)增加Blazor WebAssembly子站,推荐一个可视化linux ssh客户端FinalShell

    增加一个Blazor WebAssembly子站,并添加来回链接. 同时推荐一个好用的ssh客户端:FinalShell,windows用户再也不怕linux黑窗口不会用了:) * 支持直接命令行; ...

  7. 在Linux/Unix上运行SuperSocket

    SuperSocket通过(Mono 2.10或更新版本)来实现跨平台的特性 由于Unix/Linux不同于Windows上的文件路径格式,SuperSocket提供了专用于Unix/Linux系统上 ...

  8. 在Linux CentOS上部署Asp.Net Core项目(Tengine、Asp.Net Core、Centos、MySql)

    一.前言 1.简单记录一下Linux CentOS 7中安装与配置Tengine的详细步骤. 2.简单比较一下Tengine 和Nginx 3.搭建Asp.net Core和部署 Web程序 4.总结 ...

  9. 【 Linux 】I/O工作模型及Web服务器原理

    一.进程.线程     进程是具有一定独立功能的,在计算机中已经运行的程序的实体.在早期系统中(如linux 2.4以前),进程是基本运作单位,在支持线程的系统中(如windows,linux2.6) ...

随机推荐

  1. Delphi Form显示在第二个显示器中的方法

    Delphi 中窗体Form显示在第二个显示器中的方法: 假定要显示在扩展的第二个显示器的Form的名称为frmFloat,则除了要设置该form的top.left.width.height为Scre ...

  2. QM课程03-采购中的质量管理

    QM模块被包含于采购过程的下列决策制定阶段:查询.供应商选择.采购订单.货物订单.收货.收到检查和收货数量的下达. 供应商下达 质量部门为一种被指定的物料下达一个供应商,它可以限制或限定下达的数量.如 ...

  3. Java网页数据采集器[续篇-远程操作]【转载】

    本期概述 上期我们学习了html页面采集后的数据查询, 但这仅仅是在本地查询数据库,如果我们想通过远程操作来进行数据的采集,存储和查询,那又该怎么做呢? 今天我们一起来学习下:如何通过本地客户端远程访 ...

  4. 解决IE下jquery ajax无法获得最新数据的问题(IE缓存)

    今天修改一个bug,利用ajax查询数据,在谷歌浏览器下可以获取到最新数据,而在IE中获得是旧数据,无法获得最新的数据,经查资料,才发现时IE缓存再作怪. 发现此ajax请求用的get方式,每次请求的 ...

  5. Ajax条用WebService 5星级

    转:http://www.cnblogs.com/frozenzhang/p/ajax.html 随笔- 2 文章- 0 评论- 5 $.ajax()调用webservice   常规请求基本格式 [ ...

  6. Spark wordcount 编译错误 -- reduceByKey is not a member of RDD

    Attempting to run http://spark.apache.org/docs/latest/quick-start.html#a-standalone-app-in-scala fro ...

  7. C++11 类内初始化

    C++11新标准规定,可以为数据成员提供一个类内初始值.创建对象时,类内初始值将用于初始化数据成员.没有初始值的成员将默认初始化. 对类内初始值的限制与之前介绍的类似:或者放在花括号里,或者放在等号右 ...

  8. 【不怕坑】之 Node.js加密 C#解密

    本人也不太了解AES加密解密,为了解决Node.js加密,但是无法C#解密的问题,在网上搜了大量的相关文章. 但是多数是Node.js vs Java 或 Java vs C#的双向加密解密代码,但是 ...

  9. mysql自动备份策略

    目标:每7天做一个完整备份,每天做一份binlog日志,第二周将之前的备份删除并产生新的完整备份和binlog日志,备份要求每天2:00自动完成 mysql 版本:mysql5.5 1.开启binlo ...

  10. jQuery Validate 插件[表单验证]

    在客户端添加信息提交表单时我们经常需要做一些验证,比如验证不能为空,验证客户输入手机格式,验证客户输入email,url等的格式,我们可以通过EL表达式结合js 进行自主验证,今天总结一个JQuery ...