Ubuntu整合Apache和Tomcat

前两篇已经写了Apache和Tomcat的安装,本文主要探讨Apache和Tomcat的整合。

〇、为什么要整合

Tomcat也有webserver的功能,但一般只用作调试,其强项还是在于处理动态网页,静态网页不如Apache这种专业的webserver。

一、整合是什么意思

整合就是所有访问都先经过Apache,Apache经过筛选,把符合一定规则的请求转发给Tomcat进行处理。

Apache中有一个模块叫module_jk,专门负责做转发的工作,该模块以动态库的形式存在,需要的时候才进行加载。Tomcat在Apache端叫做worker,module_jk一般通过8009的TCP端口跟Tomcat使用AJP协议进行通信。

二、安装mod_jk.so并配置

1.安装mod_jk

# apt-get install libapache2-mod-jk

安装完后,在/etc/apache2/mods-enabled下会多出一个jk.load文件,重启apache2后,apache自动装载这个文件以加载mod_jk

2.找到worker配置文件

# vi jk.conf

找到JkWorkersFile:

JkWorkersFile /etc/libapache2-mod-jk/workers.properties

说明了jk_worker的配置文件为/etc/libapache2-mod-jk/workers.properties,要将tomcat作为一个worker就得修改这个文件。

3.在Apache端设置worker

# vi /etc/libapache2-mod-jk/workers.properties

(1)修改worker名称为mytomcat

a.找到worker.list:

worker.list=ajp13_worker

b.将文件中所有ajp13_worker替换成mytomcat

(2)设置mytomcat运行环境

tomcat和jdk的安装目录,以便worker能正常运行

workers.tomcat_home=/usr/share/apache-tomcat-8.5.35

workers.java_home=/usr/share/jdk1.8.0_131

(3)设置转发规则

vi /etc/apache2/sites-available/000-default.conf

在VirtualHost标签末尾添加:JkMount /examples/* mytomcat

...

JkMount /examples/* mytomcat

意思是凡是/examples/开头的链接请求都交给mytomcat处理,如:http://192.168.1.155/examples/index.html

examples的路径位于tomcat目录下:/usr/share/apache-tomcat-8.5.35/webapps/examples

/**到此Apache端的配置完成,需要修改的文件:

jk.load (mod_jk加载设置,可能要改)

jk.conf (mod_jk设置,可能要改)

workers.properties (worker设置,必须要改)

sites-available/000-default.conf (转发规则设置,必须要改)**/

三、在tomcat端设置worker

#vi /usr/share/apache-tomcat-8.5.35/conf/server.xml

1.修改worker名称

修改Engine标签为:

这样Apache和tomcat就能通过8009端口,使用AJP1.3协议进行通信了!

2.检查监听端口是否是8009,协议是否跟Apache端设置一样(AJP1.3(apache端为ajp13))

四、功能验证

1.重启apache

# /etc/init.d/apache2  restart

2.重启tomcat

# /usr/share/apache-tomcat-8.5.35/bin/shutdown.sh

# /usr/share/apache-tomcat-8.5.35/bin/startup.sh

3.浏览器请求

浏览器分别输入:

http://192.168.1.155/index.html

成功访问说明Apache功能正常。

Ubuntu整合Apache和Tomcat_第1张图片

http://192.168.1.155:8080/

成功访问说明tomcat功能正常

Ubuntu整合Apache和Tomcat_第2张图片

http://192.168.1.155/examples/index.html

成功访问说明Apache整合tomcat完成(后面的index.html不能省略!!!)。

Ubuntu整合Apache和Tomcat_第3张图片

五、出错排查:

1.排查mod_jk

# vi /var/log/apache2/mod_jk.log

2.排查apache

# vi /var/log/apache2/access.log

# vi /var/log/apache2/error.log

3.排查tomcat

# vi  /usr/share/apache-tomcat-8.5.35/logs/catalina.2018-11-17.log

# vi /usr/share/apache-tomcat-8.5.35/logs/host-manager.2018-11-17.log

# vi /usr/share/apache-tomcat-8.5.35/logs/manager.2018-11-17.log

你可能感兴趣的:(Ubuntu整合Apache和Tomcat)