在linux上安装Mod_jk以在tomcat前面运行apache的最佳方法是啥

Posted

技术标签:

【中文标题】在linux上安装Mod_jk以在tomcat前面运行apache的最佳方法是啥【英文标题】:What is the best way to install Mod_jk on linux to run apache in front of tomcat在linux上安装Mod_jk以在tomcat前面运行apache的最佳方法是什么 【发布时间】:2013-05-12 14:49:56 【问题描述】:

我正在为我的博客使用 Wordpress,我的主要项目是在 java 中使用 tomcat 服务器所以 我希望到达我的服务器的每个请求都通过 apache。

例如,如果我的网站使用 www.sample.com 我想将请求发送到 tomcat 如果是 www.sample.com/wordpress 发送给 apache

谢谢

【问题讨论】:

【参考方案1】:

安装 modjk:

sudo apt-get install libapache2-mod-jk
sudo a2enmod jk

创建workers.properties文件:

worker.list=tomcat,tstatus
worker.tomcat.type=ajp13
worker.tomcat.host=[TOMCAT-IP HERE]
worker.tomcat.port=[TOMCAT-AJP-PORT HERE]
#status information (optional)
worker.tstatus.type=status

将此添加到 httpd.conf:

JkWorkersFile   /PATH-TO-YOUR-FILE/workers.properties
JkLogFile       /var/log/apache2/mod_jk.log  
JkShmFile       /tmp/jk-runtime-status
JkLogLevel      info

JkMount /YourJavaAppName       tomcat
JkMount /YourJavaAppName/*     tomcat

JkMount /modjkstatus tstatus

现在您应该可以访问了:

http://YOUR-IP/wordpress
http://YOUR-IP/YourJavaAppName (redirected)
http://YOUR-IP/modjkstatus (redirected)

【讨论】:

感谢您的回答【参考方案2】:

这些步骤用于在 RHEL/Centos 中安装它,Stefan 的回答中的其他内容保持不变

#Install httpd
sudo yum install httpd
#Check if the httpd -l command has mod_so.jk.

sudo yum install httpd-devel
sudo yum install gcc
sudo yum install libtool

wget http://supergsego.com/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz

tar -xvf tomcat-connectors-1.2.41-src.tar.gz
cd tomcat-connectors-1.2.41-src
cd native

./configure -with-apxs=/usr/sbin/apxs 
make

#Now use libtool to move the mod_jk.so to /etc/httpd/modules
#You are probably good to go now.

【讨论】:

但是请考虑 mod_proxy 被认为比 mod_jk 更现代。最新的 Jetty 版本甚至不支持 mod_jk。我自己迁移到了 mod_proxy 和 Jetty 设置。 已编辑以纠正 httpd-devel 包中的小错字

以上是关于在linux上安装Mod_jk以在tomcat前面运行apache的最佳方法是啥的主要内容,如果未能解决你的问题,请参考以下文章

Apache 2.4.29 和 mod_jk 1.2.42 不转发到 tomcat

Tomcat集群搭建超详细(apache+mod_jk+tomcat)

Apache+Tomcat+mod_jk配置教程

apache/Tomcat:apache 使用 mod_jk 无法访问后端的 Tomcat

如何将 mod_rewrite 与 Apache -> mod_jk -> tomcat 设置一起使用?

编译mod_jk.so