apache 利用mode_proxy反向代理tomcat
开始学习tomcat,此篇博客仅用来和同学们分享所学,希望相互交流。下面开始
首先我们自己安装tomcat和httpd
tomcat在Linux6.4的光盘中已经集成了。我们可以直接配置好本地的yum源安装或者是自己下载源码安装都可以。源码包安装也相当简单,只需要下载下来解压就好了。
①tar xvf apache-tomcat-9.0.0.M1.tar.gz –C /usr/local解压到/usr/local/目录下
创建一个连接
ln –v apache-tomcat-9.0.0.M1 tomcat
解压后会生成几个目录文件,其中work为工作目录,webapps目录用来存放项目的文件,conf文件夹用来存放配置文件。logs目录用来存放日志。bin目录存放的可执行的程序,包括可视化的监控程序。
在bin目录有一个catalina.sh的文件这个是tomcat的启动的脚本,可以加参数start|stop等
可以通过Catalina.sh start来启动tomcat,当然也可以通过自己编写脚本的方式来进行,下面编写一个简单的脚本。
vi /etc/init.d/tomcat
#!/bin/bash
JAVA_HOME=/usr/java/latest
CATALINA_HOME=/user/local/tomcat
export $JAVA_HOME $CATALINA_HOME
exec $PATH:/CATALINA_HOME/bin $*
chmod +x tomcat
chkconfig –add tomcat
service tomcat start
好了启动完成,如果启动的了话利用netstat会启动Java进程。其中一般会有三个进程号码,其中8080是Java的http进程,8009Java的ajp进程,8005是管理tomcat的进程。可以Telnet上去进行管理。
下面来配置下server.xml文件
<Engine name="Catalina"defaultHost="www.xuejinliang.com" jvmRoute="TomcatA">
<Hostname="www.xuejinliang.com" appBase="web"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="webapps"reLoadable="true"/>
<ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%{X-Forwarded-For}i %h %l %u %t "%r" %s %b" />
</Host>
在配置文件中加上相应的内容,这就配置好了一个tomcat的实例。并且我们定义了我们的项目文件的具体位置为appBase/docBase/此处为相对tomcat的安装位置的路径。另外在定义日志的过程中我们的pattern进行了更改,使其能够记录访问者的真实的IP地址,否则的话记录的是反向代理的Apache的地址。
②配置Apache
如果使我们的Apache能够支持反向代理,需要在配置文件中打开两个模块,分别是mod_proxy和mod_http_proxy。打开之后我们可以注释掉中心主机利用虚拟主机来实现代理。
#DocumentRoot"/usr/local/apache/htdocs"
Include /etc/httpd/extra/http_proxy.conf
vi /etc/httpd/extra/http_proxy.conf
<VirtualHost *:80>
ProxyVia off
ProxyRequests off
ProxyPass / http://172.16.5.10:8080/
ProxyPassReverse / http://172.16.5.10:800/
<Proxy *>
Require all granted
</Proxy>
<Location />
Require all granted
</Location>
</VirtualHost>
上面就实现了将到根的访问全部的反向代理到了后端的172.16.5.10服务器上面去了。
参数解释:
ProxyVia:控制在http首部是不是启用via,默认的为off,如果是on的话,那么每个请求和相应的报文都会加上via。
ProxyRequests:是不是启动正向的代理,不能启用必须关闭。因为Apache不能同时打开正向和反向的代理。
ProxyPass:和在nginx的配置中是一样的,说明代理的URI和代理服务器的地址和URI。
ProxyPassReverse:避免响应报文重定向绕过反向代理服务器。
下面只需要在tomcat的安装目录下的项目目录下新建一个.jsp文件就可以进行访问了。更多关于tomcat的博客回来继续………………..