我试图创build一个workers.properties文件来获取mod_jk与Apache web服务器2.2.x进行通信。 GlassFish 3.1pipe理文档包含以下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 webserver的物理服务器上? 更具体地说,如果在我的情况下,Apache Web服务器和Glassfish和mod_jk都在同一台物理服务器上,我需要指定端口号(例如8009)吗?
也就是说,我认为端口的概念是为了便于机器对机器的通信。 如果一切都在同一台机器上,他们甚至需要打开一个端口号来通信? 或者,由于其他原因需要8009端口? 在我的情况下,我想使用Apache Web服务器作为Glassfish的前端,所以Glassfish不直接与外部客户交谈。
所以这里的主要问题是如何调整上面的示例文件,以便在一台服务器上安装一切,Glassfish使用mod_jk作为Apache webserver的简单传递?
第二个问题是,可以设置的maxThreads的最大数量是maxThreads ? (这是由AJP13协议限制,还是别的?)
你有几个问题在这里,我会尽量按顺序回答。
也就是说,我认为端口的概念是为了便于机器对机器的通信。 如果一切都在同一台机器上,他们甚至需要打开一个端口号来通信?
是的,没有。 什么端口用于允许多个基于IP的服务彼此交谈。 这并不一定意味着它是电脑到电脑。 这仅仅意味着你正在谈论一个基于IP的服务。
所以这里的主要问题是如何调整上面的示例文件,以便在一台服务器上安装一切,Glassfish使用mod_jk作为Apache webserver的简单传递?
这个例子是正确的,你仍然需要指定ajp端口,否则mod_jk将无法连接到实例。 即使认为它在同一台机器上,你仍然在做一个IP套接字连接 – 它只是通过环回适配器,而不是像eth0这样的标准适配器
第二个问题是,可以设置的maxThreads的最大数量是多less? (这是由AJP13协议限制,还是别的?)
我认为这只是一个INT – 但我强烈build议不要将其设置为最高设置 – 从某处开始256是一个很好的起点,并监视您的应用程序正在发生的事情以及它真正需要的连接数。