【IT168 专稿】 IBM WebSphere应用服务器社区版(WebSphere Application Server Community Edition)是基于Apache基金会开源项目Geronimo构建的轻量级Java EE应用服务器,可以方便地用于管理和开发Java应用。它采用Tomcat作为Web容器,集成了多种Java EE新技术。
IBM HTTP Server是基于Apache HTTP Server的Web服务器。它负责处理来自客户端的HTTP请求,并向它们发送相应的HTTP应答。通常,IBM HTTP Server被用来处理静态内容,包括HTML页面和Applet等,因此经常为应用服务器提供辅助功能。在此,将IBM HTTP Server(以下简称IHS)和WebSphere Application Server Community Edition(以下简称WAS CE)配合使用有下几个益处:
· IHS为WASCE进行URL代理。
· IHS为WASCE承担SSL加密解密任务。
· IHS处理静态页面,从而使WASCE可以专注于处理动态页面,例如JSP和Servlet。
· 两者协作实现集群和负载均衡。
与WebSphere应用服务器(WebSphere Application Server)内置了IBM HTTP Server,并且包含IHS的管理控制台不同,为了使WAS CE能与IHS协调工作,必须要做一些配置工作。本文将以WAS CE 2.1.1.2和IHS 7.0为例,讨论在Windows XP平台上如何对它们进行配置,以帮助WAS CE提高多方面的性能。
1. IBM HTTP Server的基本配置
IHS的主要配置保存在<IHS_HOME>/conf (<IHS_HOME>为IHS的安装目录)文件夹下的httpd.conf文件中。配置文件的每一行包含一个指令,注释以#开头。通常IHS有如下一些默认的配置:
2 ServerRoot "C:/Program Files/IBM/IHS7"
3
4 #在80端口侦听
5 Listen0.0.0.0:80
6
7 #用户能访问的文件根目录,默认为服务器安装目录下的htdocs文件夹
8 DocumentRoot "C:/Program Files/IBM/IHS7/htdocs"
9
10 # DocumentRoot文件夹的访问控制
11 <Directory "C:/Program Files/IBM/IHS7/htdocs">
12 #允许在此目录中使用符号连接。如果一个映射到目录的URL被请求,而此目录中又没有 index.html等索引页面,那么服务器会返回一个格式化后的目录列表。
13 Options Indexes FollowSymLinks
14 #禁止使用.htaccess文件
15 AllowOverride None
16 #规定allow和deny的优先级次序
17 Order allow,deny
18 #允许所有用户访问DocumentRoot
19 Allow from all
20 </Directory>
IHS是一个模块化的服务器,我们可以通过配置文件中对服务器包含的模块进行功能增减。除了核心模块之外的多数模块都可以通过httpd.conf文件中<LoadModule>指令进行动态加载。如果需要用某个特定的模块存在与否来决定是否作出某些配置的时候。指令一般都放在<IfModule>指令段中。例如:
2 LoadModule status_module modules/mod_status.so
3
4 #如果status模块被加载,则请求状态的扩展信息
5 <IfModule mod_status.c>
6 ExtendedStatus On
7 </IfModule>
IHS除了包含大部分Apache HTTP Server的模块之外,增加了LDAP认证模块和用于生成动态内容的FastCGI模块。IHS还提供了IKEYMAN工具用于管理密钥和证书,可以帮助我们提高WASCE的安全性。
通常我们还需要用<ServerName>等指令来指定服务器的主机名和端口号,让IHS能够辨识自己,并提高可靠性。在本文中,我们仅针对本机进行部署和测试,因此对于主机名的配置,在此不作赘述。默认情况下,本机的IHS启动之后,在浏览器中访问http://localhost,会看到如下的结果: