最新版apache2.2.4与resin最新版3.1.2整合(原创)
Resin with ApacheResin为apache提供快速的servlet引擎,允许jsp及servlet在apache下运行,在apache应用虚拟主机来布署Resin更是妙上加妙。
那么apache如何集成Resin呢?
全文:http://www.pben.cn/main.htm?action=read&bid=44&postID=8a8a8a8f15f5a8cc0115fa146539181b
步骤,先从apache官方网站上去下载当前最新版本2.2.4: http://apache.mirror.phpchina.com/httpd/binaries/win32/apache_2.2.4-win32-x86-no_ssl.msi
然后安装,注意。安装时不用指定域名及,但管理员邮箱要指定。
启动apache看看服务是否正常启动,如果一切OK就进入下一步。
然后下载resin-3.1.2下载地址如下:
http://www.caucho.com/download/resin-3.1.2.zip
下载后,它是一个解压版,我是直接放在c盘根目录下,当然,要启动resin你必须装了JDK并且配了JAVA_HOME环境变量,默认resin是服务于8080端口,先测试运行resin是否好用,也可以把resin作为windows服务配置管理,只用在cmd命令行模式下,例如我的resin-3.1.2是在C盘根目录下,我进行cmd命令行模式如下图:
就可以把resin当作windows服务管理了.
安装完resin后,下面要与apache进行整合了。
点击resin-3.1.2目录下的setup.exe文件,弹出一个窗口
在上面的窗口中,把IIS/PwS复选给去掉,勾上Apache然后输入apache的主目录,我的是在c:\apache2.2.4
然后,点上图的apply就OK了
点上面步骤,resin会在apache/conf/目录下的httpd.conf文件中加上如下代码
LoadModule
caucho_module "C:/resin-3.1.2/win32/apache-2.2/mod_caucho.dll"
ResinConfigServer localhost 6800
CauchoStatus yes
表示apache调用resin的集群的中件间mod_caucho.dll
同时把jsp及servlet的除HTML的请求都发到6800端口
为了验证集群是否应用上,我们打开resin根目录下conf目录下的resin.conf文件发现
<!---->
定义了resin也是同样的指定6800端口
到此完成了集群配置
接着我们把resin及apache启动起来
在resin启动的图中可以看到如下图:
可以看到resin除了在监听8080口以外,还在监听6800口了,呵,最后一步进行测试了,
在resin的目录C:\resin-3.1.2\webapps\ROOT\下建立test.jsp文件内容如下:
<!---->
2 + 2 = <!---->
然后在IE浏览器中打http://localhost/
显示apache的默认html页面
Index.html页面
然后再在IE浏览器中打http://localhost/test.jsp
可以看到apache把JSP的请求都转发给resin了,再把resin的请求结果页解析返回给用户。不信试试吧,很easy的!
如果resin要布署自己的应用目录也是一样的,只要在resin的resin.conf文件中修改革派配置,换一下指定的指定的目录就行了,到此完成配置工作,如果要配虚拟主机的话,也是同样的在两个配置文件进行协作,稍后的文档中会讲到.尽请观注。
注意:三张图片见
http://www.pben.cn/main.bbscs?action=read&bid=5&postID=8a8a8a8f1468576001146c70bd421479
上面只是配好apache与resin的整合,其它很多企业应用中还涉及到配置apache与resin的虚拟主机的配置,下面我们接着来说说如何利用apache与resin配置虚拟主机了,注意以下介绍的都是基于一个IP多个域名的虚拟主机的配法,我在我公司服务器测试过,步骤如下:
前提分支条件:
如果你有两个域名及一个外网的服务器的话,可以不用在本机的c:winnt目录下搜hosts文件,进入下面步骤。
如果没有域名及外网服务器,想先在本机resin+apache测试,可以先到系统windows目录下搜hosts文件,windows2000系统在C:\WINNT\system32\drivers\etc目录下,然后打开它,
在原有的基础上增加如下配置
以上配置是指定apache的虚拟主机,当apache向resin转发消息请求
xml 代码
[*]127.0.0.1 www.testmyfather.com
[*] 127.0.0.1 www.testmymother.com
再进入下面步骤:
1回到apache,让我们先在apache配置虚拟主机吧,
进入apache的httpd.conf文件,找开它,找到Listen 80位置
在其下添加如下虚拟主机的配置
# 为虚拟主机在所有IP地址上监听
xml 代码
[*]NameVirtualHost *:80
[*]<VirtualHost *:80>
[*]DocumentRoot C:/Apache2.2/htdocs/bbs71
[*]ServerPath /bbs
[*]ServerName www.testmyfather.com
[*]# 你可以在这里添加其他指令
[*]
[*]VirtualHost>
[*]<VirtualHost *:80>
[*]DocumentRoot C:/Apache2.2/htdocs/blnywebsite
[*]ServerName www.testmymother.com
[*]# 你可以在这里添加其他指令
[*]
[*]VirtualHost>
为了让resin也能识别出是那个域名的客户端浏览器的请求
所以第二步在resin的配置文件resin.conf文件中配置如下:
在resin.conf中找到标记,在此标记中间大致是280多行添加新的主机
[*]<host id="www.testmyfather.com" root-directory=".">
[*] <host-alias>testmyfather.comhost-alias>
[*]<web-app id="/bbs" root-directory="C:/Apache2.2/htdocs/bbs71">
[*]
[*] web-app>
[*]host>
[*]<host id="www.testmymother.com" root-directory=".">
[*] <host-alias>testmymother.comhost-alias>
[*]<web-app id="/" root-directory="C:/Apache2.2/htdocs/blnywebsite">
[*]<servlet-mapping url-pattern='/servlet/' servlet-name='invoker'/>
[*] web-app>
[*]host>
xml 代码
以上配置完成了虚拟主机的应用。可以到测试一下,看看apache是不是根据不同的域名请求找不同的应用。
最后注意:域名的名称及应用服务的目录都要对应得上,另外对于servlet的应用的话,加最好加上/servlet/的多一层目录映射,否则apache转发后resin不会解析成servlet,在很多人配置整合会发现resin服务下WEB应用图片的路径问题,这是由于apache对于图片都自己给解析,就不把请求给RESIN了在自己的虚拟主机目录下找图片文件,只要你把apache配置的虚拟主机的主目录与resin应用的主目录在同一个路径下,就OK了!
页:
[1]