carpnet
作者carpnet·2010-04-06 21:04
系统工程师·江苏省电信

一份安装下运行多个IBM HTTP Server实例

字数 3402阅读 4340评论 1赞 2
一、引子
WAS 5.1一般是单机只安装一份介质。曾经在一个服务器上重复安装过多个5.1的WAS和IHS的副本,然后为了避免启动时端口冲突,想法设法编写shell进行批量修改WAS配置文件的端口,那种摸索和痛苦实在是不堪回首。
现在WAS 6.1及以上7.0版本以后,随着WebSphere体系架构的优化和变革,实现了节点可配置但又无需安装多份安装介质副本的profile概念和实践,只要硬件许可即可支持单机上无限制增加节点,这实际上使得硬件资源和应用扩展变成一件轻而易举的事情。
然而,在工作中还是存在着这种特殊需求,就是在单机上会安装多份IHS,每份IHS载入的是不同的插件(plugin-cfs.xml),监听不同的端口。如上述我的曾经的愚蠢经历,虽然能解决问题,但是花了老鼻子劲。最后我不得不回到信息中心,静下心来阅读IHS方面的文档,原来IBM也留有一手应对这种个性需求。在按照文档解决问题之余,我翻译了这份篇幅很短的文档,资以共享。
二、正文
单一安装下运行多个独立的IBM HTTP Server 实例。很少有必要去运行多个实例,正如虚拟主机的特性那样允许一个单一的实例能够有效地服务多个站点,但是有些情形下它有这个必要。假如你需要通过不同的管理员安全地管理你的站点,比如,你必须允许分离的实例以使得每个实例使用它们各自的配置文件。

在你开始之前

该主题主要涉及到AIX, HP-UX, Linux, Solaris, Windows 操作系统。在z/OS 平台,install_ihs 命令为每个实例创建一个单独的目录,而不是创建产品的另外的拷贝。详情请参考关于安装IBM HTTP Serverz/OS主题。当你执行这些例子,记得将“this_instance”替换为每个实例的唯一标识符。

在配置多实例之前,不妨考虑一下,你的问题可以通过使用虚拟主机,以及或者让IBM HTTP Server侦听多地址及端口能被解决。一个单一实例的带来的好处就是,比起多个实例来,服务于同样的请求,它使用更少的资源。

步骤

  1.  建立一个分离的主配置文件,对于每个实例而言通常是httpd.conf文件。

http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.ihs.doc/info/spn_bprac.gif最佳实践:为了减少重复冗余,将公共指令保存于公共文件,并使用Include directive.bprac 将其导入到独立的主配置文件中去。配置文件的其余步骤我们称之为conf/this_instance.conf

如下是对一个实例而言的一份配置文件的一个简单的样例:

Listen 10.0.0.1:80

PidFile instance1/httpd.pid

ErrorLog instance1/error.log

CustomLog instance1/access.log common

# Other directives that make this instance behave uniquely

Include conf/common.conf

 

一个真正的配置文件可能会有更多的指令在其中,这样就可以使得该实例的行为显然不同于其他实例。

  1.  在配置文件中配置端口设置。对于多于一个实例的情形而言,你不能使用共用的侦听端口和侦听IP地址。在每个配置文件中检查 Listen 指令,并且确认它们是唯一的。详情参考 Apache HTTP Server Listen 指令。
  2. 配置 logging 以及其他特殊文件的设置。通常保存在install_root/logs 目录之下的任何文件均不能在实例之间共享。对于如下指令,每个实例必须具有唯一值:

PidFile

适用于所有配置。详情参考关于Apache HTTP ServerPidFile 指令的信息。

ScriptSock

适用于非Windows的配置,与此同时需启用 mod_cgid模块。

ErrorLog

适用于所有配置。详情参考关于Apache HTTP ServerErrorLog指令的信息。

CustomLog or TransferLog

适用于所有的配置。详情参考关于Apache HTTP ServerCustomLog指令或者TransferLog指令的信息。

SSLCachePortFilename

 适用于所有的业已启用SSL的非Windows配置。详情参考关于SSLCachePortFilename指令的信息。

SSLCachePath

适用于如下条件为真时:

    • 平台是非Windows的。
    • SSL是启用的。
    • SSLCacheDisable 指令未被配置的。
    • bin/apachectl 已经被修改于指定了一个特别的 -d 标志,或者 bin/apachectl 启动时带有明确的 -d 标志。
    • -d 标志指定的目录不能包含 bin/sidd 文件

详情参考关于Apache HTTP ServerSSLCachePath 指令的信息。

Other optional directives that specify a file path, like logging or tracing. 其他可选的指令,如为logging 或者tracing指定文件路经

  1.  [AIX][Windows]确保仅有一个 IHS 实例启用了快速响应缓存(fast response cache accelerator :FRCA),或者AFPA。
  2.  启动或者停止 IHS 服务器实例.
    • [AIX] [HP-UX] [Linux] [Solaris]使用这些命令启动和停止IHS:

o    # cd /install_dir

o    # bin/apachectl -k start -f conf/this_instance.conf

# bin/apachectl -k stop  -f conf/this_instance.conf

作为一种选择,你也可以为每个conf/this_instance.conf 创建一份 apachectl 的拷贝,与此同时要更新每份拷贝使之包含 "-f conf/this_instance.conf"

 

    • [Windows]使用这些命令去安装一个新实例:

o    cd install_dir

binApache.exe -f conf/this_instance.conf -k install -n IHS-this_instance

选择这些命令中的其一去启动和停止IHS:

      • 使用该命令:

net start IHS-this_instance

      • 使用该命令:

§  cd install_dir

§  binApache.exe -k install -n IHS-this_instance.conf

      • Microsoft Windows的服务里面找到 IHS对应的服务并启动之 .

详情请参考启动和停止 IBM HTTP Server 的主题。


原文url地址为: http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.ihs.doc/info/ihs/ihs/tihs_multipleihs.html

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论1 条评论

艾依然艾依然其它惠牛农业
2010-04-07 09:46
不错的文章,如果再把那几个图片给引过来就很完美了。
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广