LINUX      LINUX DOTNET 频道

Linux .NET编程与应用技术之专业网站:LINUX.J66.NET !     返回首页    
   
[楼主] Jexus for linux V3.1版安装使用要点

Jexus web server 是一款跨平台的WEB服务器力作,支持Linux、Unix、Windows等多种操作系统。Jexus对ASP.NET有一种天然的亲和力,无需任何第三方组件支持即可运行ASP.NET网站,是Linux、Unix等非Windows平台架设ASP.NET WEB服务器的首选方案。

Jexus linux asp.net 网站服务器 3.1 版较上一个版本(Jexus V2.3)有很大的改进,这些改进都是围着“规模”和“性能”这两个要点进行的。2.3版是单进程模式,难以满足大型网站或大规模布局子网站的需要,3.1版使用了多进程模式,每个网站可以使用1-4个工作进程(每进程最多可以有256个线程)同时工作,一台服务器可以添加任意多的网站,所以,Jexus 3.1版成功地解决了规模瓶颈,为各类客户在Linux上架设相对大型的ASP.NET网站或大规模布局ASP.NET网站提供了良好的平台支持。我们甚至可以这样认为,Jexus V3.1版是Jexus步入企业版WEB服务器行列的标志。
Jexus是安全性很高的WEB服务器。V3.1版继承了2.3版的安全检测功能,比如自动禁止用户访问敏感文件类型(比如“.config”)和敏感文件夹(比如“/bin”,“/app_code”),自动检测用户请求中的特殊字型,有效避免SQL注入等。而URL重写、无文件(NOFILE)路由等功能可以使访问路径与真实文件之间完全失去直接的对应关系,使访问者根本无法从URL路径中找到真实的目标资源。众多安全功能的整合,保证了JEXUS的安全性远远超过其它WEB服务器。



* Jexus web server for linux V3.1 版的安装使用:


一、安装:

安装前的准备工作:

A、安装好mono 2.4.2.3 或更高版本。下载地址:http://www.go-mono.com/mono-downloads/download.html 。
B、必须以 root 身份登入服务器进行安装、运行、配置等各种操作。
C、注意,如果安装过Jexus的其它版本,请在安装这个版本之前卸载旧版本。

   卸载旧版的方法(以Ubunt linux平台为例):
      1、终止jexus进程:
         sudo ./jws.stop
      2、卸载jxAspx.dll:
         sudo gacutil -u jxAspx
      3、删除原jws文件夹中所有内容,清空文件夹。


1、下载:
下载地址是:http://linux.j66.net/down/jexus-3.1.tar.gz

2、解压:
tar -zxvf jexus-3.1.tar.gz

3、复制:
建立“/etc/jws”目录,并把jexus-3.1文件夹中的文件全部复制到/etc/jws文件夹内。
(注:你当然可以使用其它的文件夹安装Jexus,但我们建议使用“/etc/jws”这个文件夹,因为,Jexus各个操作脚本所默认位置就是这个文件夹,如果你没有使用这个文件夹,就得麻烦你修改一下操作脚本中的相关命令。)
(提示:一定要保证jws.start、jws.stop、jws.restart这几个文件拥有可执行权限)

4、安装:
其实就是注册Jexus所需要的全局程序集(把 jxAspx.dll 注册为全局程序集,非常重要,不能没有这一个操作):
cd /etc/jws
sudo gacutil -i jxAspx.dll


二、Jexus web server (jws) 配置:

在与 jws.exe 相同的文件夹中(即安装文件夹,一般是“/etc/jws”)为Jexus建立一个配置文件,文件名一定要设为“jws.conf”。
sudo vim jws.conf
在 jws.conf 中至少得添加 SiteConfigDir 和 SiteLogDir 两行信息:
SiteConfigDir=/etc/jws/sites   #指的是存放网站配置文件的文件夹,可以使用基于jws.exe文件的相对路径
SiteLogDir=/etc/jws/logs       #指的是存放jexus日志的文件夹,可以使用基于jws.exe文件的相对路径

重要提示:
必须为Jexus指定并创建两个专用文件夹,一个是用于存放日志文件的“日志文件夹”,一个是存放网站配置文件的“网站配置文件夹”。
日志文件夹必须让jexus系统有写入权,因为它会在这儿写入jexus程序的工作日志、网站访问日志等重要内容。
网站配置文件夹是用存放网站配置文件的地方,既使只有一个网站,也必须有这个文件夹,因为jexus启动时只会从这个文件夹读取网站配置的内容。


三、网站配置

Jexus支持多站点,可以用不同的端口、域名、虚拟路径设置任意多的网站。
必须把所有网站的配置文件都存放在jws.conf指定的网站配置文件夹内,这个文件夹除了网站配置文件,不能有其它任何文件,因为jexus会认为这个文件夹中的任何文件都是网站配置文件。
每个网站有且只有一个配置文件,配置文件的文件名就是这个网站的名称,比如 www.mononet.cn这个网站,配置文件名可以写成“mononet”,当然也可以写成其它文件名。
一个网站可以拥有任意多的域名,不同网站不能有相同的域名,没有域名的网站只能有一个,这个没有域名的网站叫做“默认网站”,而一台服务器最多只能有一个默认网站。

下面以www.mysite.cn为例,说说网站的配置
在网站配置文件夹中建立一个文件,这个文件的名称应该有一些意义(至少要能让服务器管理员了解这个配置文件是属于哪一个网站的)
设这个网站的配置文件的文件名为:mysite
sudo miv mysite

A、网站配置的基本内容:

port=80                          #jexus WEB服务器侦听端口(必填。当然可以是其它端口)
path=/var/www/mysite             #网站物理路径(必填。指网站文件存放的文件夹,一定要用绝对路径)
root=/                           #网站虚拟路径(建议填。默认为“/”)
hosts=mysite.cn,www.mysite.cn    #网站域名,可以用泛域名,比如:*.mysite.cn(不填此项或只填一个“*”号表示这是默认网站)
indexs=index.aspx,index.htm      #首页文件名,可以写多个,用英文逗号分开(不建议填。因为JWS系统含有常用首页名)
aspnet_exts=mspx,ttt             #添加新出现的或自定义的ASP.NET扩展名(不建议填。多个扩展名用英文逗号分开,不加点号。系统含有常用扩展名)

(特别注意:hosts和root这两项,必填一项。因为相同端口的网站可以有很多个,没有这两项中的一项,服务程序就无法正确定位具体网站)

B、网站配置的高级选项

1、使用“URL重写”功能
URL重写是指WEB服务器将访问者请求的URL路径资源按指定的匹配规则解释和匹配为另外的一个RUL路径资源,修改后的路径不会反映到用户端。

比如,希望别人访问“.php”类型的文件时,服务器返回 /404.html 这个文件:
rewrite=^/.+?\.(asp|php|cgi)$ /404.html
# 格式:
# “rewrite=”的后面是两部分阻成,两部分之间由一个空格分开。
  空格前是匹配的条件:用正则表达式描述URL的匹配条件。
  空格后是匹配的目标:指的是如果用户访问的路径合乎前面的匹配条件,服务器将以哪个规则回应。

又如:
把“/bbs”解析为“/bbs/index.aspx”,把“/bbs/file-1” 匹配为 “/bbs/show.aspx?id=1”:
rewrite=^/bbs$ /bbs/index.aspx
rewrite=^/bbs/file-([0-9]{1,6})$ /bbs/show.aspx?id=$1

2、禁止某IP或IP段访问本网站
denyfrom=111.222.111.*
denyfrom=101.202.111.*
denyfrom=101.201.1.132

3、是否对请求的URL等进行安全检测
本选项默认是true,即需要检查,除非你的确需要关掉这个选项,否则可以不填,格式如下:
checkquery=false
(关掉本项可以提高服务器速度,但就安全而言,不建议关掉它)

4、网站工作进程数量
workers=1
(一个网站可以启用1-4个工作进程为它服务,默认为1)

5、NOFILE(无文件)功能
nofile=/mvc/controller.aspx
(注:这是Jexus特有的功能,指的是如果服务器不存在用户要访问的文件,服务器将使用什么文件应答。这种目标文件的变化,不会反映给访问者。)
(提示:路由后,用户请求的RUL信息会备份在PATHINFO中,所以,目标文件可以根据这个变量去解析原URL的含义而返回不同的信息)
(技巧:用这个功能,或者再加上URL Rewrite功能,您可以从WEB Server系统级直接实现MVC框架。)

6、NOLOG(无日志)功能
nolog=yes
(注:禁用网站日志功能会适当提高WEB服务器系统的响应速度,但不足也是明显的,就是你无法详细了解网站的访问情况了)


四、操作:

1、基本的启动命令的格式(仅作例子,不建议使用)
mono /etc/jws/jws.exe
如:mono /etc/jws/jws.exe
这个命令运行后,用 Ctrl+c 组合键退出程序

2、以“服务”方式进行后台运行, 只需要基本命令后加一空格再加一“&”号(仅作例子,不建议使用)
mono /etc/jws/jws.exe &

3、开机自动启动:
在/etc/rc.local 中加入下面这一行命令:
mono /etc/jws/jws.exe >/dev/null 2>&1 &

最简单最常用的办法是在“/etc/rc.local”文件中添加下面一句:
/etc/jws/jws.start

(注意:不同的Linux系统可能有不同的启动方式,用户应根据不同系统的特点灵活定制)
(提示:jws.start是脚本文件,用户可以根据自己系统的特点去适当修改它,以便其正常启动)

4、使用脚本操作Jexus(推荐使用):
Jexus自带了三个脚本,分别是:

jws.start
jws.restart
jws.stop

jws.start   的作用是启动JEXUS服务,可以写入rc.local文件中,从而达到开机自启动的目的;
jws.stop    的作用是停止Jexus的运行。
jws.restart 的作用是重启Jexus;

注意,这些脚本需要具有可执行权限,同时操作者也必须拥有管理员(root)权限。

使用脚本时,请一定要注意Jexus安装文件夹的位置,脚本默认的文件夹是“/etc/jws”,如果你的路径不同,请修改脚本内容。


五、卸载:
1、注销全局程序集jxAspx.dll,命令是: 
sudo gacutil -u jxAspx
2、在rc.local文件中删除你手工添加的开机自动启动Jexus的命令行
3、删除 /etc/jws文件夹及全部内容。


六、信息反馈与技术交流网址:
www.j66.net      (官方网站)
linux.j66.net    (技术社区)

作者:www.j66.net   发布时间:09年10月01日   可选操作:删除 回复

[1楼] 回复:Jexus for linux V3.1版安装使用要点
还没来得及试用,但可以看出来,3.1版的确是一个企业级的强大版本。由于jexus具有其它web服务器所没有的安全性,我认为最适合政府网站使用。
作者:RedBird   发布时间:09年10月02日   可选操作:删除 回复

[2楼] 回复:Jexus for linux V3.1版安装使用要点
4、网站工作进程数量
workers=1
(一个网站可以启用1-4个工作进程为它服务,默认为1)

请教多进程时工作的大概原理
会话是否共用?
作者:大哲   发布时间:09年10月09日   可选操作:删除 回复

[3楼] 回复:Jexus for linux V3.1版安装使用要点
同一网站使用多个工作进程时,用户对服务器的访问请求将被平均分配给每一个进程。3.1版带有会话状态服务器,在使用多进程时,建议由状态服务器管理AST.NET会话。
作者:www.j66.net   发布时间:09年10月09日   可选操作:删除 回复

[4楼] 回复:Jexus for linux V3.1版安装使用要点
对于session.现在我一般都使用memcached 或者类似的集中式cache方案。这样可以解决一些 session 同步复制的麻烦。

web server如果是无状态的 水平就很方便了。
作者:mathgl   发布时间:09年10月09日   可选操作:删除 回复

 
   
   

留言回复:
标题: * 标题必填
作者:   * 请填上你的名字  
操作键:   * 填入几个字母表示是您写的,便于进一步操作
发言内容:
 
发贴者须知:
1、您无需注册即可发贴,但是,贴子内容必须在法律法规和社会公德所允许的范围内;
2、本站专注IT技术,谢绝包括政治、社会、情感等任何与IT技术无关的贴子在本站发表;
3、本站保留对任何贴子进行删除、禁用、更改、举报、追究等所有权利;
 
今天是: 周一  周七  周二  周三  周四  周五  周六