关闭

IHS 问题分析

1368人阅读 评论(0) 收藏 举报
分类:

刚开始做运维相关的工作,知道有IBM Http Server 结合was使用,用了一段时间居然不知道IHS(其实就是IBM Http Server),够逗的。还有一个就是以前需要禁掉trace功能,需要修改http.conf文件,在文件的最后面看到,

LoadModule was_ap22_module /opt/IBM/HTTPServer/Plugins/bin/32bits/mod_was_ap22_http.so
WebSpherePluginConfig /opt/IBM/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml

只知道是跟was相关的,开始还以为是通过人为添加进去的(其实是在was控制台生成的)

还好,在这里看到孙杰老师的一篇博客,一下子豁然开朗,拿来分享一下。也感谢孙杰老师提供这么好的文章,在此致敬。


原文出处:http://xjsunjie.blog.51cto.com/999372/1395477



一般来说IBM Http Server(简称IHS)与Websphere Application Server(简称WAS)是联合使用的,即通过IHS的80端口间接访问WAS的动态web(jsp,servlet,javabean)、EJB(Enterprise Javabean)。WAS默认使用的应用端口是9080,在实际项目中时常会遇到IHS的80不可用,必须要加9080才能使应用被正常访问。有的朋友为此熬夜奋战险些抓狂,其实没那么可怕,经过我多次与该问题较量,得出了一点点经验,希望能给其他刚刚接触WAS、IHS的朋友一些借鉴。原理不多说了,看几个问题。


导致80端口不可用或IHS不能将请求传递给was的9080端口的原因一般有以下几种情况:


1、插件问题:

  在你安装完IHS后,一定要在WAS控制台里生成和传播插件。如果没有做此操作,则无法正常使用IHS 80端口。

  因为没有这一项,休想让was和ihs结合起来,当你做完了这步操作,就会发现在IHS的httpd.conf文件的末尾会自动加上这两句。

  LoadModule was_ap22_module /usr/IBM/HTTPServer/Plugins/bin/32bits/mod_was_ap22_http.so

  WebSpherePluginConfig /usr/IBM/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml

  当然有的时候,你点了生成和传播插件,但httpd.conf里没这两句话,请检查httpd.conf的写入权限或者手工添加这两句。

wKiom1Nxzxyg_VENAAAzPyBGe9Y974.gif

wKioL1Nxzw-BhaZoAAA2gncPA4I028.gif

2、httpd.conf不要轻易乱修改:

  在你不明白IHS的httpd.conf如何修改的情况下千万不要随意修改。


  在安装was后,再安装ihs。启动was管理控制台,进入后将默认应用DefaultApplication 停止卸载,然后部署你的应用(比如用wsad或AAT打的WAR包),启动后测试一下9080端口访问是否正常,然后在管理控制台下:环境---更新web服务器插件---确定,重新启动ihs,你自然在ihs的httpd.conf

文件最后看到这两行(自动添加的,根本无须手动加入):


  LoadModule was_ap22_module /usr/IBM/HTTPServer/Plugins/bin/32bits/mod_was_ap22_http.so

  WebSpherePluginConfig /usr/IBM/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml


没有上面这两行?那就想想是不是版本的问题,不然稍有错误就很容易导致ihs启动不起来或者启动起来后也无80端口。


3、权限问题

  需要特别注意mod_was_ap22_http.so和plugin-cfg.xml文件必须跟安装时使用的用户和组一致,另外就是这两个文件需要有读取和执行权限。

  比如你有时会遇到IHS进程正常和端口正常,但访问却报404错误,提示“URL /microblog/mb/findMblogIdsOrderbyTime.action was not found on this server.”找不到的问题,当你把这两个文件的属主和权限调正确后,就不会报错了。



4、打包的时候需要注意哪些问题?

IBM打包工具wsad和ATT都挺好用的,也没有什么特殊的设置,基本上在tomcat上能正常运行,在was上就没什么问题。另外一定要设置好环境变量,进入was管理控制台----资源----jdbc提供程序---我用的SQLServer,类路径里面填写C:/j2sdk/lib/msbase.jar

C:/j2sdk/lib/mssqlserver.jar

C:/j2sdk/lib/msutil.jar

就完成了,如果你在此设置数据源和连接池使用起来更为简洁。打包时一般设置都很灵活,随意就行,如果想打一个ear也行,打一个war也行。在was中部署的时候上下文根也很随意,如果填入 / 代表直接指向你的应用文件夹(也许就是你的网站根目录),当然也可以指向你应用的名字。


5、IHS重装

  有的时候IHS不正常或启动了无80端口,导致应用必须加9080才能访问。这时你查IHS进程只有1-3个进程(正常情况下一般有6个IHS进程),重启IHS数遍也不行。通常你可以选择重新安装IHS,但需要生成和传播插件。



测试

http://serverIP:9080/applicationName/index.jsp能访问动态页面

http://serverIP/applicationName/HomePage.jsp也能访问动态页面(IHS和WAS结合)

http://serverIP/可以访问IHS管理控制台

http://serverIP:9060/ibm/console 可以访问WAS管理控制台


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:33273次
    • 积分:632
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:25篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论