一、Jexus Web Server配置
在 jexus 的工作文件夹中(一般是“/usr/jexus”)有一个基本的配置文件,文件名是“jws.conf”。
jws.conf 中至少有 SiteConfigDir 和 SiteLogDir 两行信息:
SiteConfigDir=siteconf #指的是存放网站配置文件放在siteconf这个文件夹中,可以使用基于jws.exe文件的相对路径
SiteLogDir=log #指的是jexus日志文件放在log这个文件夹中,可以使用基于jws.exe文件的相对路径
重要提示:
必须为Jexus指定并创建两个专用文件夹:一个是用于存放日志文件的“日志文件夹”,一个是存放网站配置文件的“网站配置文件夹”。
日志文件夹必须让jexus系统有写入权,因为它会在这儿写入jexus系统日志、网站访问日志等重要内容,安装程序中已经建了一个文件夹,名字是log。
网站配置文件夹是用存放网站配置文件的地方(安装包中已经建了这个文件夹,名字是siteconf),既使只有一个网站,也必须有这个文件夹,因为jexus启动时会从这个文件夹读取网站配置的内容。
即,默认情况下,Jexus的文件夹结构是:
/usr/jexus #JWS工作目录
/usr/jexus/siteconf #网站配置目录
/usr/jexus/log #日志目录
二、网站配置
Jexus支持多站点,可以用不同的端口、域名、虚拟路径设置任意多的网站。
必须把所有网站配置文件放到jws.conf指定的网站配置文件夹内(这个文件夹常常jws工作目录内的“siteconf”文件夹),这个文件夹除了网站配置文件,不能有其它任何文件,因为jexus会认为这儿的任何一个文件都代表着一个不同的网站。
每个网站有且只有一个配置文件,配置文件的文件名就是这个网站的名称,比如 这个网站,配置文件名可以写成“mysite”,当然也可以写成其它文件名,以便管理员容易记忆和识别,但要特别注意:文件名不能有空格!
一个网站可以拥有任意多的域名,不同网站不能有相同的域名,没有域名的网站只能有一个,这个没有域名的网站叫做“默认网站”,而一台服务器最多只能有一个默认网站。
*** 再次强调:
1、网站配置文件的文件名不能有空格;
2、网站配置文件夹中只能有网站配置文件,不能有其它文件文件存在。
下面以为例,说说网站的配置
在网站配置文件夹中建立一个文件,这个文件的名称应该有一些意义(至少要能让服务器管理员了解这个配置文件是属于哪一个网站的)
设这个网站的配置文件的文件名为:mysite
sudo vim mysite
A、网站配置的基本内容:
port=80 # jexus WEB服务器侦听端口(必填。当然可以是其它端口)
root=https://www.jb51.net/ /var/www/mysite # 网站URL根路径(虚拟目录)和对应的物理路径,两个路径字串之间必须用空格分开(必填。既使这个网站是一个纯粹的反向代理站,也得填)
#可选项
hosts=mysite.cn, # 网站域名(建议填写),可以用泛域名,比如:*.mysite.cn(不填此项或只填一个“*”号表示这是默认网站,一个端口只能有一个默认站)
indexs=index.aspx,index.htm # 首页文件名,可以写多个,用英文逗号分开(可以不填。因为JWS系统含有常用首页名)
addr=0.0.0.0 # 绑定到服务器本机的某个IP地址,默认情况下是所有地址,即“0.0.0.0”。
aspnet_exts=mspx,ttt # 添加新出现的或自定义的ASP.NET扩展名(不建议填。多个扩展名用英文逗号分开,不加点号。系统含有常用扩展名)
B、最简配置示例
最简配置只需port和root两项,如:
port=80
root=https://www.jb51.net/ /var/www/default
注:以上两个条目的含义:“port=80”指本网站的服务端口是80(标准的WEB服务端口);“root=https://www.jb51.net/ /var/www/default”是指该网站的的虚拟根路径是“/”,所对应的物理文件夹的绝对路径是“/var/www/default”,即网站的内容必须放到“/var/www/default”这个文件夹中。
C、网站配置的高级选项 (阅读建议:建议初学者跳过本小节)
网站配置的高级选项全是可选项,应该根据网站的实际需要选填。
灵活使用高级选项,可以架设出一台与众不同的、功能强大的服务器平台或者服务器群组。
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