现象:今天发现一台WebSphere的IHS服务器出现一个问题,重启后http只产生了一个httpd的主进程,而且80端口的监听启动了,但是无法访问,然后查看http日志没有任何记录,同时发现httpd.pid 的时间也不是当前时间,也就是说http启动失败,杀死该主进程后,80端口的监听释放,但是重启依然没用。
之后各种查看文件配置,日志权限,目录权限,清空日志目录,重启服务器 都没用。
此时 日志目录空间没有满,日志目录文件个数没有超出linux限制 80端口未被占用;
分析:
正常情况下,IHS启动后会产生一个root用户的主进程,然后在产生多个nobody用户的StartServers,具体数量httpd.conf里面设置,下面是正常情况下的样子:
nobody 30359 31206 6 09:39 ? 00:00:21 /opt/IBM/HTTPServer/bin/httpd -d /opt/IBM/HTTPServer -k start
nobody 30361 31206 5 09:39 ? 00:00:20 /opt/IBM/HTTPServer/bin/httpd -d /opt/IBM/HTTPServer -k start
nobody 30362 31206 6 09:39 ? 00:00:21 /opt/IBM/HTTPServer/bin/httpd -d /opt/IBM/HTTPServer -k start
nobody 30367 31206 6 09:39 ? 00:00:21 /opt/IBM/HTTPServer/bin/httpd -d /opt/IBM/HTTPServer -k start
root 31206 1 0 Oct17 ? 00:00:00 /opt/IBM/HTTPServer/bin/httpd -d /opt/IBM/HTTPServer -k start
但是今天遇到的情况就只有一个进程:
root 31206 1 0 Oct17 ? 00:00:00 /opt/IBM/HTTPServer/bin/httpd -d /opt/IBM/HTTPServer -k start
后来在网上看到,可以把http的日志等级调为debug模式,修改httpd.conf 文件,设置LogLevel debug,然后再次重启,发现启动还是失败,但是日志记录里面有了信息,日志如下。
[Thu Oct 24 20:33:26 2013] [info] mod_unique_id: using ip addr 127.0.0.1
[Thu Oct 24 20:42:43 2013] [info] mod_unique_id: using ip addr 127.0.0.1
[Thu Oct 24 20:42:44 2013] [info] mod_unique_id: using ip addr 127.0.0.1
[Thu Oct 24 21:12:13 2013] [info] mod_unique_id: using ip addr 127.0.0.1
[Thu Oct 24 21:12:14 2013] [info] mod_unique_id: using ip addr 127.0.0.1
解决:
最终拿 [info] mod_unique_id: using ip addr 放到google上面 搜索后
发现解决方案:
删除 /opt/IBM/HTTPServer/Plugins/logs/webserver1/http_plugin.log
然后重启 就可以使用了。
IBM分析是说这个日志大小不能大于2G,原因是32为的JVM不支持。原文如下:
In this case, the plug-in was not being loaded by the httpd.conf during IBM HTTP Server startup.
The plug-in was not being loaded as it could not read the http_plugin.log file.
The log could not be read because the plug-in logs had reached 2 GB in size
Note: The 2GB limitation is due to the limitations set by a 32 bit JVM
地址:http://www-01.ibm.com/support/docview.wss?uid=swg21322755