Apache-2.2

為 mod_jk 設置workers.properties 文件

  • February 8, 2012

我正在嘗試創建一個workers.properties 文件以使mod_jk 與Apache webserver 2.2.x 通信。GlassFish 3.1 管理文件包括 worker.properties 的以下範例:

# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
# GlassFish server settings
maxThreads=256

此範例是否假設 mod_jk/Glassfish 安裝在與 Apache 網路伺服器不同的物理伺服器中?更具體地說,如果在我的情況下,Apache webserver 和 Glassfish 以及 mod_jk 都在同一個物理伺服器上,我是否需要指定埠號(例如 8009)?

也就是說,我認為埠的概念是為了促進機器對機器的通信。如果一切都在同一台機器上,他們甚至需要打開一個埠號來進行通信嗎?或者,是否出於其他原因需要埠 8009?在我的情況下,我想使用 Apache 網路伺服器作為 Glassfish 的前端,因此 Glassfish 不會直接與外部客戶端對話。

所以這裡的主要問題是如何調整上面的範例文件以適應所有東西都安裝在同一台伺服器上的情況,Glassfish 使用 mod_jk 作為 Apache 網路伺服器的簡單傳遞?

第二個問題是,maxThreads可以設置的最大數量是多少?(這是受 AJP13 協議限制還是其他限制?)

您有幾個問題,我會嘗試按順序回答。

也就是說,我認為埠的概念是為了促進機器對機器的通信。如果一切都在同一台機器上,他們甚至需要打開一個埠號來進行通信嗎?

是的,沒有。埠的用途是允許多個基於 IP 的服務相互通信。這並不一定意味著它是電腦到電腦。這僅意味著您正在與基於 IP 的服務交談。

所以這裡的主要問題是如何調整上面的範例文件以適應所有東西都安裝在同一台伺服器上的情況,Glassfish 使用 mod_jk 作為 Apache 網路伺服器的簡單傳遞?

例子沒錯,還是需要指定ajp埠,否則mod_jk將無法連接實例。即使它在同一台機器上,您仍在進行 IP 套接字連接 - 它只是通過環回適配器,而不是像 eth0 這樣的標準適配器

第二個問題是,可以設置的最大執行緒數是多少?(這是受 AJP13 協議限制還是其他限制?)

我認為這只是一個 INT - 但我強烈建議不要將其設置為最高設置 - 從 256 開始是一個很好的起點,並監控您的應用程序發生了什麼以及它真正需要多少連接。

引用自:https://serverfault.com/questions/358120