2010-11-13 37 views
4

我有一個網站與Apache 1.3(SSL啓用)+ mod_jk + tomcat 5.5在Linux的redhad設置。就在最近,我開始在我的網站上遇到停機問題。每天一次,我將我的網站掛在80端口上。但如果我直接通過8080 tomcat響應訪問並且網站正常工作。 80和8080端口都可以訪問,但mod_jk的apache和tomcat連接中斷。只有當我重新啓動tomcat後,事情纔會恢復正常。Apache + Tomcat與mod_jk - 網站掛起

我剛剛配置了apache mod_Jk來記錄錯誤,所以我會看看是否會在下一次掛起時出現任何錯誤。

阿帕奇mod_js CONF:

JkShmSize 1000M 

阿帕奇工人的conf:

worker.list=worker1 
worker.worker1.type=ajp13 
worker.worker1.host=127.0.0.1 
worker.worker1.port=8009 
worker.worker1.lbfactor=1 
worker.worker1.socket_keepalive=1 
worker.worker1.recycle_timeout=180 
worker.worker1.sticky_session=False 

我檢查Web應用程序的錯誤/警告在Tomcat的日誌,我有一些 「內存不足」 的Java異常。應用程序錯誤可能導致此問題?它可以是網站過載問題或內存泄漏?目前dev/mapper/VolGroup00-LogVol00只有4%的可用空間。它能成爲問題的原因嗎?

我也有此日誌條目,它配襯服務器掛起時間:

的/ var/log/messages中:可能SYN泛洪8009端口發送的cookie

更新: 我剛拿到另一個下來,mod_jk的日誌給出了這樣:

[Sun Nov 14 00:57:03 2010] [error] ajp_connection_tcp_get_message::jk_ajp_common.c (961): Can't receive the response message from tomcat, network problems or tomcat is$ [Sun Nov 14 00:57:03 2010] [error] ajp_get_reply::jk_ajp_common.c (1503): Tomcat is down or refused connection. No response has been sent to the client (yet) [Sun Nov 14 00:57:08 2010] [error] ajp_connection_tcp_get_message::jk_ajp_common.c (961): Can't receive the response message from tomcat, network problems or tomcat is$ [Sun Nov 14 00:57:08 2010] [error] ajp_get_reply::jk_ajp_common.c (1503): Tomcat is down or refused connection. No response has been sent to the client (yet) [Sun Nov 14 00:57:12 2010] [error] ajp_connection_tcp_get_message::jk_ajp_common.c (961): Can't receive the response message from tomcat, network problems or tomcat is$ [Sun Nov 14 00:57:12 2010] [error] ajp_get_reply::jk_ajp_common.c (1503): Tomcat is down or refused connection. No response has been sent to the client (yet) [Sun Nov 14 00:57:12 2010] [error] ajp_service::jk_ajp_common.c (1758): Error connecting to tomcat. Tomcat is probably not started or is listening on the wrong port. w$ [Sun Nov 14 00:57:12 2010] worker1 mydomain.com 50.999342

看起來我的網站停在8009端口。 AJP 1.3連接器在8009端口上提供apache mod_jk。

任何幫助或建議將不勝感激。

謝謝。

+0

是您的端口8009向公衆開放? – cherouvim 2010-11-13 18:21:51

+0

你能建議如何檢查它嗎?我試圖訪問http://www.mydomain.com:8009。我沒有得到http錯誤,只是一個空白頁面。這是否意味着8009對公衆開放,有人氾濫或DDOS呢? – taras 2010-11-13 18:59:43

回答

5

您需要更多數據。

1)設置的server-status handler for apache

2)設置the status worker of mod_jk。有了這個,你就可以清楚地看到這是否是一個Apache的Tomcat通信問題。

3)當tomcat再次掛起時,執行線程轉儲以查看Java處理當前處於的位置。也許它正在等待什麼。

編輯:在情況下,它的Apache到Tomcat問題([2])問題看看http://community.jboss.org/wiki/OptimalModjk12Configuration

+0

非常感謝您的回覆,只是想檢查一下,您能否告知,在生產服務器中啓用安裝程序1和安裝2是否安全? – taras 2010-11-13 17:28:28

+0

關於項目#3的評論。 Tomcat沒有掛起,該網站仍然可以通過8080端口訪問。其他實例也可以訪問apache 80端口。 – taras 2010-11-13 17:36:42

+0

你說得對。看看我編輯的答案中的鏈接。我曾經這樣解決過我的問題。 – cherouvim 2010-11-13 18:02:15

相關問題