为什么要这样干:
因为 apache和tomcat他们两个不太一样,apache擅于解析静态网页,即.html;而tomcat擅于解析***页,即.jsp;
所以为了高效率,我们就要做一件一劳永逸的事情,让各自做各自擅长的;
原理:
当项目是静态网页时,apache来处理,如果加载到***页了,就要转发给tomcat来处理,然后tomcat再发回来;
就结束了;
所以我们要确保apache和tomcat之间能够联系上,所以我们用mod_jk.so来连接他们两个;
老方法,还是写配置文件;
思路:
既然我们要用mod_jk来连接,我们就要配置他,在这里需要添加2个文件,mod_jk.conf和workers.properties,
然后就要更改apache和tomcat的配置,
已有java环境
首先需要说一下:网上的好多教程是下载包来解压安装的;
我是直接yum install XXX 安装的,所以路径会不一样,再写配置文件是一定要注意自己的路径;
下面开始实操;
1安装httpd-devel
安装成功后,会有/usr/bin/apxs服务,mod_jk的编译依赖于apxs
# yum install httpd-devel
2 安装mod_jk
apache 网下载 官 tomcat-connectors-1.2.xx-src.tar.gz(版本下载最新的就行了)
http://tomcat.apache.org/download-connectors.cgi
安装tomcat-connectors (mod_jk)
# tar -xzvftomcat-connectors-1.2.xx-src.tar.gz
# mv tomcat-connectors-1.2.39-src /opt/mod_jk
# cd /opt/mod_jk/native
# ./configure --with-apxs=/usr/bin/apxs
# make
# make install
复制mod_jk.so
#cp /opt/mod_jk/native/apache-2.0/mod_jk.so /usr/lib64/httpd/modules/
这里我复制的时候已经有这个文件了,编译的时候直接生成在这了;所以我就没有复制了;
3.增加配置文件
创建workers.properties
vim /etc/httpd/conf/workers.properties
添加
#Defining a workernamed worker1 and of type ajp13
worker.list=worker1
#Set properties forworker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
创建mod_jk.conf
vim /etc/httpd/conf/mod_jk.conf
添加
JkWorkersFile /etc/httpd/conf/workers.properties
#Where to put jk logs
JkLogFile /etc/httpd/logs/mod_jk.log
#Set the jk log level[debug/error/info]
JkLogLevel info
#Select the log format
JkLogStampFormat “[%a %b %d %H:%M:%S %Y]”
#JkOptions indicate tosend SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
#JkRequestLogFormat setthe request format
JkRequestLogFormat “%w %V %T”
#将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1
JkMount /*.jsp worker1
修改httpd.conf
vim /etc/httpd/conf/httpd.conf
添加以下内容,其中”/var/www/html”是你要发布的Web项目所在的父目录
DirectoryIndex index.jsp index.htm
DocumentRoot"/var/www/html"
<Directory"/var/www/html">
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
</Directory>
在最后添加:
LoadModule jk_module /usr/lib64/httpd/modules/mod_jk.so
Include /etc/httpd/conf/mod_jk.conf
修改tomcat的配置
vim /etc/tomcat/server.xml
将 <Server …>部分 修改为
<Host name="localhost" appBase="/var/www/html"
unpackWARs="true"autoDeploy="true">
重启httpd 和 tomcat
4.测试
在/var/www/html中新建项目文件夹,
mkdir /var/www/html/myjsp
vim /var/www/html/myjsp/index.jsp
写入
<html>
<head><title>Hello</title></head>
<body>
<%
java.util.Date currentTime = new java.util.Date();
%>
<%=currentTime%>
</body>
</html>
访问网站就可以看到这个网页了;
结束:
参考:
https://www.cnblogs.com/shefuming/p/8610875.html
https://www.cnblogs.com/liesun/p/9046657.html
https://longxzq-126-com.iteye.com/blog/1461330