iis5.1与resin3.0.8的整合实现伪静态

 

前提:建议使用服务器操作系统中的IIS,这样不容易出现其它的异常问题,在windows xp系统上通过windowsXP IIS_setup.rar安装的iis服务器非常容易出现各种问题,比如表单的post方式提交数据时服务器无法获得参数,值都为NULL,而在服务器自带的IIS则很少出现这类问题,很遗憾的是还没有找出问题所在!!虽然如此,对于windowsXP IIS_setup.rar的安装过程还是记录在下面:

1.下面为IIS5.1的安装过程

第一、在网上下载IIS5.1。下载地址 http://www.51touch.com/Article/Download/Relate/122347143.htm  第二、下载好后,记住你下载的物理路径,最好是直接下载到你的根目录下,比方说直接下载到D盘。不要下载到文件夹里。

  第三、IIS5.1是个压缩文件,我们就把它解压到当前文件夹,

这时我们会看到windowsXP IIS_setup这个文件夹,鼠标双击打开这个文件夹,我们会看到

这个图标,鼠标双击打开它,我们会看到

点安装,安装完成后就会出现我们想要看到的东西了

这就是我们要安的IIS5.1


            第四、打开-开始-控制面板-添加/删除程序-添加删除Windows组件-在Internet信息服务上画对勾{就是将它勾选上}

然后点下一步。
  第五、这是最主要的一步,这时电脑提示你插入光盘,我们不要管它,在弹出的对话框的浏览项鼠标点击下拉菜单,找到你下载IIS5.1的地方,比方说D盘,然后再点windowsXP IIS_setup这个文件夹,再点IIS5.1,找到以后点对话框上的确定,这时电脑开始安装IIS、可是它只安装到现两三格的时候就停下来不安了,因为找不到文件了。你不用害怕,我们继续点浏览,把放文件的地方找出来,比方说D盘,然后电脑继续安装,这样的情况大概持续四次,真到安上为止,这时你的IIS5.1就真正的安装在你的电脑里了。注明一下,IIS6.0IIS5.1的安装方法相同。
  第六、打开-开始-控制面板-性能和维护-管理工具-Internet信息服务。把它发送到你的桌面上。
  这时你就可以用你自己的电脑做服务器,上传你的网页了。

2.下面为iisresin整合的步骤:

 

一、分别设置JAVA_HOMERESIN_HOME两个环境变量;
   
二、将IIS的主目录设置为%RESIN_HOME%/doc,否则整合后Resin可能找不着图片,特别是为静态的页面是找不到通过路进引入的图片,样式表等文件。
   
三、将isapi_srun.dll%RESIN_HOME%/libexec复制到D:/Inetpub/Scripts(IIS的安装文件夹为D:/Inetpub,可自行修改),备注:bin目录下有setup.exe可以帮助解决这个问题,其它高版本setup.exe在根目录下。
   
四、通过控制面板,启动“Internet信息服务
       
1、为默认网站建立一个名为“Scripts”的虚拟目录,使其指向D:/Inetpub/Scripts备注:使用resin目录中setup.exe就可以做到这一点;
        2
、右击,选择属性,在ISAPI筛选器标签中新建一个筛选器,名称自定(我的叫Resin),可执行文件设为D:/Inetpub/Scripts/isapi_srun.dll
        3
、右击,选择属性,在主目录标签中,单击配置按钮,新建一个应用程序映射,其中可执行文件设为D:/Inetpub/Scripts/isapi_srun.dll,扩展名设为.jsp
        4
、右击,选择属性,在文档标签中,添加默认文档index.jsp,根据需要还可以添加其它需要的默认访问页,如login.jsp
   
五、修改resin.conf
        1
设置javac.exe文件夹,请自行调整文件夹名,我的javahomeD:/Program Files/j2sdk 1.4.2
        <javac compiler="D:/Program Files/j2sdk 1.4.2 /bin/javac.exe" args=""/>
        2
停用http服务
        <!-- The http port
          <http id="" host="*" port="8080"/>
        -->

3.我们还需要将项目发布到resindeploy目录下,此时resin.conf配置文件中可以保持如下配置不变

<host id=''>

      <document-directory>doc</document-directory>

 

      <!-- configures the root web-app -->

      <web-app id='/'>

        <!-- adds xsl to the search path -->

        <class-loader>

          <simple-loader path="$host-root/xsl"/>

        </class-loader>

 

        <servlet-mapping url-pattern="/servlet/*" servlet-name="invoker"/>

      </web-app>

    </host>

如果有必要我们还可以修改<web-app id='/'>中的id属性配置发布项目所在的目录


   
六、重启所有服务。
   
2.下面为iis伪静态配置:

经过上面的配置后我们就可以通过iis来访问resin服务器提供的http服务,但是有时候我们有必要在iis上使用伪静态技术,下面对静态网页比和动态网页进行比较:

静态网页与动态比较:
  1
)静态网页:
    
优势:A 对搜索引擎友好,被收录的质量高;B、访问速度快;C、资源(cpu 等)占用少。
    
劣势:A、对于大型门户,或者社区来说,不断的修改将会产生大量I/O,会导致磁盘出现碎片甚至出现磁盘坏道。相当恐怖一个隐患。用户信息一旦没有了就没戏玩了。B、储存空间占用会多一些。
  2
)动态网页:
   
优势:相对于静态,它的劣势也就是动态的优势所在——占用空间少,对硬盘友好。
   
劣势:A、对搜索引擎不友好。搜索引擎会不收录带问号的网址?因为搜索引擎怕由于问号而进入死循环。详细可见另外一篇札记(学习札记——网页搜索基础知识
B
、高并发时资源占用较多。
而伪静态就是在这样背景下应运而生了,它在保留动态的优点的基础上,使得网址静态化,也就是让网址里不带问号,骗过收录的爬虫就行了。这样完美地糅合了前边两者的优点。
优点:静态的优点+动态的优点
不足:流量稍大一些使用伪静态就出现CPU使用超负荷,由于伪静态是用正则判断而不是真实地址,分辨到底显示哪个页面的责任也由直接指定转由CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病.
实现机制:是利用服务器端,对请求的动态页面做改动,让浏览器认为访问的也是静态页面,这个时候,浏览器地址栏中显示的就是静态地址信息(不带问号)了。

结论:伪静态太适合用在普通的企业网站上了——既不要求高并发,但同时又很在乎seo(搜索引擎优化),而且也要求后台可动态更新。——当然实现直接生成静态页也行,因为这种不像社区那种修改量那么大。

 

3.配置方法如下:

iis原先没有rewrite功能,所以第一步先下载iisrewrite扩展包
http://www.jvcj.cn/uploadfiles/rewrite_94061.rar
第二步,解压到c盘根目录,其他目录应该也是可以的,然后打开iis,网站属性->isapi筛选器->添加->文件选择刚才解压出来的Rewrite.dll 名称自己填一个,最后按确定;
第三步,在httpd.inirewrite规则,rewrite规则语法是正则表达式的语法。

使用ISAPI_Rewrite进行动态链接重写HTML静态网址。ISAPI_Rewrite是一个dll组件,re_writeiis里的一个模块。这个筛选器实现是通过正则表达式,将动态网页网址映射成为静态网址。如可将news.asp?id=95通过re_write将其转换成news/95.html。映射的正则表达式在httpd.ini文件里进行设置。
 
举个小小例:处理数据翻页,那么写法是:
More_<%=Page%>_<%=type%>.html
(注:page是翻页页数,type是数据类型)表现形式:More_1_95.html
如果翻下一页,则为:More_2_95.html,继续下一页的循环,则是:
More_3_95.html
,以此类推。
不过你需要在httpd.ini文件中增加以下代码:
RewriteRule /More_(/d+)_(/d+)/.html /jsp/more/.asp/?page=$1&type=$2 [N,I]
字串9
如果你的动态程序有多个参数需要传递,那么就增加多个(/d+)即可,如下:
RewriteRule /More_(/d+)_(/d+)_(/d+)/.html /asp/more/.asp/?page=$1&type=$2&type2=$3 [N,I]
÷

 

而对于jsp的映射有如下例子:RewriteRule ^(.*)/([a-z]+)/.html$ $1/$2/.jsp就包括了主页的静态映射,^(.*)/([a-z]+)/.html$  此部分用来匹配静态url地址,后面$1/$2/.jsp表示映射的动态地址,$1$2分别表示第一部分匹配中的第一个和第二个子匹配(备注:每个小括号之间为一个子匹配),更详细语法参考正则表达式语法。

优点:在程序上基本不需做什么变化。麻烦:要实现这个需要对iis进行控制,所以当你租用别人的服务器时,则需要先跟服务商联系。(当然这个是对asp而言,asp.net就不用——直接将dll程序集放到程序中的bin再适当的配置即可实现)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值