Linux apache反向代理配置tomcat分布式 (CentOS6.3 64bit)

来源:互联网 发布:java圆周率怎么表示 编辑:程序博客网 时间:2024/06/07 15:07

系统平台: CentOS 6.3   x64

Apache httpd版本: 2.4.3

Tomcat: 7.0

 

实现原理: 由Apache httpd接收用户请求,然后根据配置文件通过ajp协议请求响应的Tomcat,获取Tomcat响应结果后发回给用户

 

步骤一: 安装Apache httpd

 下载地址: http://httpd.apache.org/

 版本:2.4

 安装方法:./config时用--with-XX指定依赖库即可, 然后make && make install


步骤2: 安装JK

下载地址:http://tomcat.apache.org/download-connectors.cgi

版本:1.2

下载后得到jk的src文件

tar -xzvf jakarta-tomcat-connectors-1.2.14-src.tar.gz   #解压cd jakarta-tomcat-connectors-1.2.14-src/jk/native      #进入该目录./buildconf.sh                #执行 ./configure --with-apxs=/Apache_Home/bin/apxsmakemake install
执行./buildconf.sh时,如果出现: You need autoconf version 2.59 or newer installed 错误,  则yum install autoconf;

如果出现You need libtool version 1.4 or newer installed错误,则yum install libtool。

这样JK就安装到了Apache_Home/module/mod_jk.so中, 检查安装是否成功:

cd /Apache_Home/modulels | grep jk

步骤3:配置apache httpd


配置mod_jk, 在http.conf末尾
Include conf/mod_jk.conf

以上表示将mod_jk.conf配置文件包含进来

修改mod_jk.conf文件

为了保持httpd.conf文件的简洁,把jk模块的配置放到单独的文件中来

在mod_jk.conf文件中添加以下内容:

# Load mod_jk2 moduleLoadModule jk_module modules/mod_jk.so #加载jk_mod模块# Where to find workers.properties(引用workers配置文件)JkWorkersFile conf/workers.properties # Where to put jk logs(log文件路径)JkLogFile logs/mod_jk2.log# Set the jk log level [debug/error/info](log级别)JkLogLevel info# Select the log format(log格式)JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "# JkOptions indicate to send SSL KEY SIZE,#JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories# JkRequestLogFormat set the request formatJkRequestLogFormat "%w %V %T"# Send JSPs for context / to worker named loadBalancer(URL转发配置,匹配的URL才转发到tomcat进行处理)JkMount /*.jsp controller  #controller为负载金衡控制器名称,可任意定义,但须在workers.properties中定义# JkMount /*.* controller


编写上面指定的workers.properties文件

#server 列表worker.list = controller,tomcat1,tomcat2# tomcat1(ajp13 端口号,在tomcat下server.xml配置,默认8009)worker.tomcat1.port=8009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat1.host=localhostworker.tomcat1.type=ajp13#server的加权比重,值越高,分得的请求越多worker.tomcat1.lbfactor = 1# tomcat2worker.tomcat2.port=8009worker.tomcat2.host=Tomcat2所在主机IPworker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1# controller(负载均衡控制器)# 指定分担请求的tomcatworker.controller.balance_workers=tomcat1,tomcat2#worker.controller.sticky_session=true

说明: 此文件配置了2tomcat服务器进行负载均衡处理


步骤4. 如果两个Tomcat位于一台主机,那么配置其中一个Tomcat, 否则这部跳过

vi /usr/local/tomcat/conf/server.xml<!-- ajp协议端口由默认的8009改成9009, 为了对应tomcat2,还需要把上一步骤中work.propeties的worker.tomcat2.port改为9009<Connector port="9009"  protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"  redirectPort="8443" protocol="AJP/1.3" />

如果在同一台电脑上配置两个Tomcat,则把Tomcat Http端口也改变一下,以免两个Tomcat启动时端口冲突

至此,系统已经整个完毕启动Apache和Tomcat

原创粉丝点击