如何在 Mac OS X 上安装 mod_jk
Posted
技术标签:
【中文标题】如何在 Mac OS X 上安装 mod_jk【英文标题】:How to install mod_jk on Mac OS X 【发布时间】:2012-07-27 12:02:34 【问题描述】:我正在寻找在 Mac OS X 10.7 Lion 或更高版本上安装 mod_jk 的正确方法。目标是在 Apache HTTPD 之后测试 Tomcat。
到目前为止,我发现安装 mod_jk 的唯一方法是下载源代码,然后在控制台中配置它并进行 make 和 make install。
这不是很正确,因为我需要自己管理 mod_jk 的安装和配置。例如,我可以稍后在需要时忘记删除 mod_jk。无论如何,我认为应该有更友好的方式来安装 mod_jk,比如某种 DMG 包。
我还发现 mod_jk 在 OS X Server 中可用。实际上它在我的开发机器上,但仅适用于服务器。
<IfDefine MACOSXSERVER>
...
#LoadModule jk_module libexec/apache2/mod_jk.so
...
</IfDefine MACOSXSERVER>
对于不安装 OS X Server 或任何其他方式的开发人员,可能有一个 mod_jk 软件包。
更新
-
mod_proxy_ajp 是另一种选择。主要优点:它与 Apache 和 Mac OS X 捆绑在一起
我现在在我的配置中测试了mod_proxy_ajp,可以说它更好——因为不需要额外的配置。 mod_proxy_ajp 在 Mac 上开箱即用,我相信也许在 linux-server 上也是如此。您也不需要使用额外的 workers.properties 文件。
这是我的配置的样子:
<VirtualHost *:80>
ServerAdmin me@me.com
DocumentRoot "/Users/me/Sites/projekt"
ServerName projekt.local
<Directory "/Users/me/Sites/projekt">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
ProxyPass /coolapp ajp://localhost:8009/coolapp
ProxyPassReverse /coolapp ajp://localhost:8009/coolapp
ErrorLog "/private/var/log/apache2/projekt.local-error_log"
CustomLog "/private/var/log/apache2/projekt.local-access_log" common
</VirtualHost>
以上配置的 Tomcat 和 AJP 连接器只是您所需要的。太棒了!
参考:
-
在 OS X 上安装 mod_jk - http://www.bartbusschots.ie/blog/?p=1347
比较 mod_jk 与 mod_proxy_ajp apache to tomcat: mod_jk vs mod_proxy
How to configure mod_proxy_ajp with Tomcat ?
请提出建议。
【问题讨论】:
你指的是什么“配置文件”?您显示的文本是否以<VirtualHost *:80>
开头进入httpd.conf
或其他位置?
@murray - 我的配置进入 /etc/apache2/extra/httpd-vhosts.conf。但是您也可以在适当的时候在其他地方进行管理,例如在用户配置中 - /etc/apache2/users/... 我自己决定这个 httpd-vhosts.conf 更适合我的安装。
我不明白“/coolapp
”指的是什么。这与DocumentRoot
设置有什么关系?
LoadModule
中的 httpd.conf
中的 mod_proxy_ajp
行的语法是什么?也就是LoadModule xxx modules/mod_proxy_ajp.so
中的“xxx
”是什么?
要回答我关于LoadModule
语法的问题,似乎可行的是:LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
。
【参考方案1】:
您可以试一试mod_proxy_ajp。它像 mod_jk 一样执行 AJP13 和负载平衡,但随 Mac OS X 一起提供。
【讨论】:
酷 - 我不知道 - 会检查。如何比较它们? 看起来有区别 - ***.com/questions/1081918/… 太棒了 - 它开箱即用,更易于配置,例如不需要额外的workers.properties 文件。谢谢@菲利普。看起来像是来自 Seaside 社区的真正 Philippe Marschall 的回答 - 很酷。 谢谢,我在 Mac 上的 mod_jk 上也失败了。但这开箱即用。 似乎 High Sierra mod_proxy_ajp 有问题。一些发布到服务器的 XML 数据包含一个前导特殊字符,这会导致 Tomcat 中的 XML 解析器失败。我需要切换到 HomeBrew httpd 来解决这个问题。以上是关于如何在 Mac OS X 上安装 mod_jk的主要内容,如果未能解决你的问题,请参考以下文章
如何在Mac OS X Yosemite上安装 jdk 1.6 开发环境