在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:apache 使用 mod_jk 无法访问后端的 Tomcat