Apache+Tomcat整合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache+Tomcat整合相关的知识,希望对你有一定的参考价值。

虽然目前nginx作为webserver服务器或代理服务器被广泛使用,但Apache还是运用于很多项目中。下面结合自己实际操做下记录。

一、Apache+Tomcat整合的优点

?

1.1主要因为Apache有其独特的优点:

  1. 功能强大,apache自带了很多功能模块,可根据需求编译自己需要的模块。
  2. 配置简单,apache的配置文件非常简单,通过简单的配置可实现强大功能。
  3. 速度飞快,apache处理静态页面文件效率非常高,可以应对大并发和高负荷访问请求。
  4. 性能稳定,apache在高负荷请求下性能表现卓越,执行效率非常高。
    ?

1.2apache也有自身的缺点:

只支持静态网页,对于jsp、php等动态网页不支持
Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,因此,不太适合于多处理器环境。
?

1.3Tomcat是Sun和Apache合作做出来的JSPServer,有如下优点:

支持Servlet和JSP,可以很好的处理动态网页。
跨平台性好:Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。
但是,tomcat也有自身缺点:
处理静态页面效率不高:Tomcat本身可以做为Web Server,但是tomcat在处理静态页面时没有Apache迅速。
可配置性不强:tomcat不像Apache一样配置简单,稳定、强壮。
综上所述,通过相互的整合刚好弥补了各自的缺点,通过整合可以实现:
客户端请求静态页面时,由Apache服务器响应请求。
客户端请求动态页面时,则是Tomcat服务器响应请求。
通过apache信息过滤,实现网站动、静页面分离,保证了应用的可扩展性和安全性。
?

二、安装部署

2.1 源码安装Apache

?

 yum install gcc libtool
 tar -xvf apr-1.5.1.tar 
 cd apr-1.5.1/
  ./configure --prefix=/usr/lib/apr
  make
  make install

  cd apr-util-1.5.4/
  chmod -R o+x *
 ./configure --prefix=/usr/lib/apr-util --with-apr=/usr/lib/apr
 make
 make install*

cd expat-2.1.0/
chmod -R o+x * 
./configure --prefix=/usr/lib/expat
make
make install
ll /usr/lib/expat

或者 yum install pcre-devel
cd pcre-8.36/
 chmod o+x * -R
chmod u+x * -R
 yum install -y gcc gcc-c++
 ./configure --prefix=/usr/lib/pcre
 make
yum install -y aclocal
 yum install -y autoconf
 which aclocal
sudo autoreconf -ivf 
 ./configure --prefix=/usr/lib/pcre
make
make install

 wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.37.tar.gz
 tar -xzvf httpd-2.4.37.tar.gz 
 cd httpd-2.4.37/

./configure --with-apr=/usr/lib/apr --with-apr-util=/usr/lib/apr-util --with-expat=/usr/lib/expat/lib --with-pcre=/usr/lib/pcre --prefix=/opt/apache --with-mpm=event --enable-nonportable-atomics --enable-cache --enable-disk-cache --enable-mem-cache 

 make
 make install
 cd /opt/apache/bin
 ./httpd -k start

2.3 安装mod_jk模块

[root@apache ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz
[root@apache ~]# tar xf tomcat-connectors-1.2.46-src.tar.gz 
[root@apache ~]# cd tomcat-connectors-1.2.46-src/native
[root@apache native]# ./configure --with-apxs=/opt/apache/bin/apxs   #编译模块都需要这个apxs文件
[root@apache native]# make
[root@apache native]# make install
[root@apache native]# cd apache-2.0
[root@apache native]# ll mod_jk.so  #检查是否含有该模块
[root@apache native]# ll /opt/apache/modules/mod_jk*   #检查是否安装成功

2.4 安装tomcat

2.4.1安装jdk1.8
上传部署包中jdk包到服务器
//创建jdk安装目录
mkidr -p /usr/local/java
//解压jdk
unzip jdk1.8.0_172.zip
//移至安装目录
mv jdk1.8.0_172 /usr/local/java
//修改系统全局配置
echo ‘
export JAVA_HOME=/usr/local/java/jdk1.8.0_172
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
‘ >> /etc/profile
//生效全局配置
source /etc/profile
//查看jdk版本
java -version

2.4.2 ##### 安装tomcat:

[root@web1 ~]# tar -xf apache-tomcat-8.0.30.tar.gz
[root@web1 ~]# mv apache-tomcat-8.0.30 /usr/local/tomcat
[root@web1 ~]# ls /usr/local/tomcat
bin/
lib/
logs/
temp/
work/
conf/
webapps/

启动:
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh

?

2.5 配置Apache

2.5.1配置 http.conf

?
由于本次演示为单机部署,Apache采用基于端口的形式配置虚拟主机进行转发。修改监听的端口
技术图片
?
?
加载必要的模块
打开mod加载的注释,共6个
140行 mod_proxy 提供HTTP/1.1的代理/网关功能支持
141行 mod_proxy_ajp mod_proxy的扩展,提供Apache JServ Protocol支持
142行 mod_proxy_balancer mod_proxy的扩展,提供负载均衡支持
143行 mod_proxy_connect mod_proxy的扩展,提供对处理HTTP CONNECT方法的支持
146行 mod_proxy_ftp mod_proxy的FTP支持模块
148行 mod_proxy_http mod_proxy的HTTP支持模块
技术图片

?
加载mod_jk模块
技术图片

?

创建Tomcat workers

Tomcat worker是一个服务于web server、等待执行servlet/JSP的Tomcat实例,创建tomcat workers需要增加3个配置文件,分别是Tomcat workers配置文件workers.properties,URL映射文件uriworkermap.properties和JK模块日志输出文件mod_jk.log,mod_jk.log文件会在apache启动时自动创建,这里只需创建前两个文件即可
2.5.2配置 workers.properties
技术图片

?
2.5.3配置 uriworkermap.properties(当访问Apache主机带有wxqyh/*的时候就会交由worker2去处理)
技术图片

?
2.5.4配置 httpd-vhosts.conf

添加两个不同端口的虚拟主机,

技术图片
?

以上是关于Apache+Tomcat整合的主要内容,如果未能解决你的问题,请参考以下文章

Apache Tomcat 整合

tomcat整合apache

tomcat-jk-apache整合后 地址UrlRewriter 重写乱码的问题

Apache+Tomcat整合

tomcat 和 apache 整合后利用Tomcat 进行URL重写

apache和tomcat有什么不同,为什么要整合apache 和tomcat?