apache反向代理后端tomcat

在各种企业级网站应用系统中,JSP也是使用较多的一种网站开发语言,对于这样的网站服务器,必须能够支持Java环境、JSP解析,比如安装Tomcat、Jboss等JSP容器。另外一方面,Apache HTTP Server对静态HTML页面的处理能力要更加优秀一些,因此若能将Apache与Tomcat等JSP容器整合在一起使用,将可以获得更好的网站服务体验。

这种情况下,Apache仍然作为浏览器访问的前端服务,当客户机请求访问*.jsp网页时,再自动调用后端的tomcat服务进行解析,并将结果页面返回给客户机。其间的沟通过程需要安装连接器mod_jk来完成。

后端安装Tomcat:

安装jdk开发环境
[[email protected] ~]# cd /setup/
[[email protected] setup]# chmod +x jdk-6u20-linux-i586.bin 
[[email protected] setup]# ./jdk-6u20-linux-i586.bin
解压tomcat
[[email protected] setup]# vim /var/www/html/index.jsp tar zxf apache-tomcat-7.0.23.tar.gz -C /usr/local/tomcat
[[email protected] ~]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/sbin/tomcat-up
[[email protected] ~]# ln -s /usr/local/tomcat/bin/shudown.sh  /usr/local/sbin/tomcat-down
添加环境变量vim /etc/profile:
JAVA_HOME=/setup/jdk1.6.0_20
CATALINA_HOME=/usr/local/tomcat
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/servlet-api.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH  CATALINA_HOME
测试jdk:
[[email protected] setup]# java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
修改tomcat的server.xml配置文件:
[[email protected] setup]# vim /usr/local/tomcat/conf/server.xml 
 <Engine name="Catalina" defaultHost="www.w4ya.com" jvmRoute="jvm1">  #把默认主机改为"www.w4ya.com"
  
  <Host name="www.w4ya.com" appBase="webapps"  
            unpackWARs="true" autoDeploy="true">
     <Context path="" docBase="/var/www/html/" debug="0" />  //新建虚拟主机
 </Host>
启动tomcat服务,并确认tomcat服务的监听状态。
[[email protected] ~]# tomcat-up
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.6.0_20
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar 
[[email protected] ~]# netstat -anpt | grep java
tcp        0      0 :::8009        :::*          LISTEN      2591/java
tcp        0      0 :::8080        :::*          LISTEN      2591/java

在前端服务器安装apache

[[email protected] http]# tar xf apr-1.5.1.tar.gz 
[[email protected] http]# cd apr-1.5.1
[[email protected] apr-1.5.1]# ./configure --prefix=/usr/local/apr
[[email protected] apr-1.5.1]# make && make install
[[email protected] http]# tar xf apr-util-1.5.4.tar.gz 
[[email protected] http]# cd apr-util-1.5.4
[[email protected] apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[[email protected] apr-util-1.5.4]# make && make install
with-apr=/usr/local/apr
[[email protected] setup]# tar jxf pcre-8.35.tar.bz2 
[[email protected] setup]# cd pcre-8.35
[[email protected] pcre-8.35]# ./configure
[[email protected] pcre-8.35]# make && make install
[[email protected] httpd-2.4.10]# ./configure --prefix=/usr/local/apache --enable-so --enable-ssl  --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util/ --enable-mpms-shared=all  --with-mpm=event  --enable-proxy --enable-proxy-http --enable-proxy-ajp  --enable-proxy-balancer  --enable-lbmethod-heartbeat --enable-hearbeat --enable-slotmem-shm --enable-slotmem-plain --enable-watchdog
[[email protected] httpd-2.4.10]# make && make install
[[email protected] conf]# vim /usr/local/apache/conf/httpd.conf 
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so   //打开这个模块

第一种方法apache直接代理tomcat:

[[email protected] conf]# vim /usr/local/apache/conf/httpd.conf
//引入配置文件
include /usr/local/apache/conf/http-proxy.conf
[[email protected] conf]# vim http-proxy.conf
//在配置文件添加以下内容
<VirtualHost *:80>
ProxyVia On
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://192.168.1.115:8080
ProxyPassReverse / http://192.168.1.115:8080
<Proxy *>
  Require all granted
</Proxy>
<Location / >
  Require all granted
</Location>
</VirtualHost>

第二种方法使用mod_jk代理:

[[email protected] setup]# weget http://mirrors.cnnic.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.40-src.tar.gz
[[email protected] setup]# tar xf tomcat-connectors-1.2.40-src.tar.gz 
[[email protected]lhost setup]# cd tomcat-connectors-1.2.40-src/native/
[[email protected] native]# ./configure --with-apxs=/usr/local/apache/bin/apxs
[[email protected] native]#make &&  make install
[[email protected] modules]# ls /usr/local/apache/modules/ |grep "mod_jk.so"
mod_jk.so
[[email protected] conf]# vim /usr/local/apache/conf/httpd.conf 
//添加以下内容:
LoadModule  jk_module  modules/mod_jk.so
JkWorkersFile  /usr/local/apache/conf/workers.properties
JkLogFile  logs/mod_jk.log
JkLogLevel  debug
JkShmFile logs/jk.shm
JkMount  /*  Tomcat
JkMount  /status/  stat
[[email protected] conf]# vim workers.properties
//容器配置文件
worker.list=Tomcat,stat1
worker.Tomcat.port=8009
worker.Tomcat.host=192.168.1.116
worker.Tomcat.type=ajp13
worker.Tomcat.lbfactor=1
worker.stat.type = status
重启apache

apache代理到tomcatB:

本文转自:维斯亚综合论坛:http://www.w4ya.com/forum.php

时间: 2024-10-29 19:05:35

apache反向代理后端tomcat的相关文章

Apache反向代理结合Tomcat集群来实现负载均衡(一)

好的博文一般都能做到"望题知文",看下标题就知道下边要讲的内容,写这个标题时犹豫了一下,本来要将标题定位apache+tomcat实现负载均衡,可是又觉得这样显得比较模糊,后来想了一下,觉得利用Apache做负载均衡底层结合的是tomcat的集群功能,所以便用了这个标题. 首先先做下集群与负载均衡的概念区分,很多人一直都不理解这两个概念,不知道该如何区分这两个概念,又觉得这两个概念仿佛是一个技术的两个术语,其实不然,下边介绍下这两个概念: 什么是集群(Cluster) 所谓集群是指一组

Apache反向代理结合Tomcat集群来实现负载均衡(四)、Apache反向代理

上文中主要介绍了tomcat的集群方式,下边再来说下apache的反向代理.反向代理可以这样来理解,我们通常认为的代理(正向代理)是局域网内部机器本身不能上网,网关可以上网,大家在局域网内是通过网关上网的,这个网关就是个代理机器.反向代理意思就反了过来,现在网关并不是给内部局域网做代理的,而是给外部请求内部局域网做代理的,例如,当前一个应用系统在局域网内的A机器上,外部网络不能直接访问A机器,而是通过网关访问到了A,这里网关就是个反向代理了. 总结:正向代理---为在防火墙内的局域网客户端提供I

Apache反向代理结合Tomcat集群来实现负载均衡(一)、概念理解

好的博文一般都能做到"望题知文",看下标题就知道下边要讲的内容,写这个标题时犹豫了一下,本来要将标题定位apache+tomcat实现负载均衡,但是又认为这样显得比較模糊.后来想了一下,认为利用Apache做负载均衡底层结合的是tomcat的集群功能.所以便用了这个标题. 首先先做下集群与负载均衡的概念区分,非常多人一直都不理解这两个概念,不知道该怎样区分这两个概念,又认为这两个概念仿佛是一个技术的两个术语,事实上不然,下边介绍下这两个概念: 什么是集群(Cluster) 所谓集群是指

tomcat配置及基于nginx、apache反向代理tomcat

如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求.我们需要一个交互式的Web,于是便诞生了各种Web语言.如Asp,Jsp,Php等.当然,这些语言与传统的语言有着密切的联系,如Php基于C和C 语言,Jsp基于Java语言.Tomcat即是一个Jsp和Servlet的运行平台. Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成.由于有了Sun的参与和支持,最新

Apache反向代理Tomcat(mod_proxy方式)

Apache反向代理Tomcat(mod_proxy方式) 环境使用两台服务器,apache服务器IP为192.168.8.18,tomcat服务器地址为192.168.8.16 Tomcat搭建(192.168.8.16): 安装JDK: 官方网站下载二进制包 # chmod +x jdk-6u45-linux-i586-rpm.bin# 赋予执行权限 # ./jdk-6u45-linux-i586-rpm.bin# 执行 默认安装在/usr/java目录下 # vim /etc/profil

使用Apache通过JK实现多Tomcat负载均衡集群时,Apache不能将请求分发给Tomcat处理(即Apache反向代理不成功)的问题

前些天在做Apache通过JK实现多Tomcat负载均衡集群时,参考网上的配置将配置文件配置好后,访问已存在tomcat中的JSP文件时发现Apache提示URL不存在,然后检查了配置文件及tomcat工程部署,发现配置部署均无问题.尝试访问Apache静态页面,通过http单独访问tomcat均无问题.然后我猜会不会之前参考的网上的配置有问题,于是继续查询网上其它配置发现都差不多,尝试更改各种参数均没有解决.后来我仔细想了想出现这个问题的原因应该是Apache没有将HTTP请求分发给Tomca

使用apache反向代理tomacat

起源 在大部分的生产环境中,基本上使用的都是java程序,从而促进了各种应用程序中间件的产生,在这里大概有几种,tomcat作为最著名的开源servlet容器,jboss也是开源的,而且有管理界面,主要是redhat的,而weblogic则是oracle的商业中间件,而webspare则是IBM的商业中间件,其他的几个例如jetty,resin用的也就比较少了. 在安装tomcat的时候,每次首先需要安装的是jdk,提供jvm虚拟机,jre运行环境,从而每次安装jdk的时候,有几种选择,生产环境

nginx反向代理及tomcat负载均衡

 tomcat服务器及负载均衡 1:tomcat主要用于web网页应用,它的静态处理能力低于nginx服务器, 但是可以当做容器主要用于JAVA程序编写的页面.jsp.用于测试. 2:可以实现负载均衡,反向代理,tomcat和其他的服务相比较,性价比高 另外tomcat是有apache基金会维护和支持 3:根据案例搭建tomcat服务器,以及实现负载均衡   一..实施准备 1.启动后关闭iptables防火墙 #service iptables stop 2.安装jdk.配置java环境 (1

apache反向代理和负载均衡

正向代理:正如我们用的游戏加速代理,大多的个人PC把请求发给正向代理服务器,代理服务器通常配置高端的带宽,替我们请求相应的服务 负载均衡中的反向代理:通常意义上,是一个请求转发的代理.类似一个收发室的管理人员,外来的很多邮件,传到收发室,然后由管理员分配给不同的办公室.通过这样的操作,可以使每台服务器避免过多的负载导致宕机.而转发的这个过程,通常也有很多种不同的算法. 总结:正向代理一般是指PC连接到代理服务器,由代理服务器转发请求到网站.而反向代理指的是用户将请求发送给反向代理服务器,由反向代