Apache(web服务器)与Tomcat(应用服务器)搭建集群

web服务器:Apache、Nginx、IIS等

应用服务器:Tomcat、JBoss、Weblogic等

现在web服务器和应用服务器其实界限已经不是太清晰了,大部分的应用服务器也包含一些web服务器的功能,使用什么服务器大部分取决与架构场景和技术解决方案。

在服务器集群中,主要场景是一下几种:

  1,静态资源优化

  2,多环境应用整合

  3,负载均衡

  4,其他复合场景

接下来准备将Apache(web服务器)与两个Tomcat(应用服务器)集成在一起。

1.环境准备

1.1 Apache安装

windows下面安装Apache简单很多,直接类似软件点击下一步安装一下,配置一下端口号(默认80)。启动就好了。

Apache(web服务器)与Tomcat(应用服务器)搭建集群

访问localhost:80/index.html

Apache(web服务器)与Tomcat(应用服务器)搭建集群

1.2 Tomcat1与Tomcat2准备

在tomcat官网下载两个免安装的zip包直接解压出来tomcat1和tomcat2;

在tomcat1的目录下打开tomcat1/conf/server.xml,修改HTTP/1.1端口号为:8081

<Connector port="" protocol="HTTP/1.1"
connectionTimeout=""
redirectPort="" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

在tomcat1的目录下打开tomcat1/conf/server.xml,修改HTTP/1.1端口为:8082,AJP端口为:8010,redirectPort:8444,Server port:8006,避免与tomcat1端口冲突,因为我这里使用的一台机器搭建的集成环境。

<Connector port="" protocol="HTTP/1.1"
connectionTimeout=""
redirectPort="" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />

在tomcat/bin目录下点击startup.bat,启动两个tomcat,这里有一个控制台乱码问题,修改一下tomcat/conf/logging.properties,把编码改为GBK

Apache(web服务器)与Tomcat(应用服务器)搭建集群

在idea控制台里面有时也会出现类似问题,修改字符集就可以解决。

Apache(web服务器)与Tomcat(应用服务器)搭建集群

Apache(web服务器)与Tomcat(应用服务器)搭建集群

1.3 在tomcat1和tomcat2的webapps清空,并放入自己测试的资源sample1和sample2的index.html

hello,tomcat1!
hello,tomcat2!

重启tomcat1和tomcat2访问

localhost:8081/sample1/index.html

Apache(web服务器)与Tomcat(应用服务器)搭建集群

localhost:8082/sample2/index.html

Apache(web服务器)与Tomcat(应用服务器)搭建集群

2.集群配置

2.1修改httpd.conf,加载模块

这里为什么加载mod_jk模块,Apache与tomcat集成是可以通过AJP协议也可以通过HTTP协议,可以使用mod_jk(AJP)和mod_proxy+mod_proxy_ajp(AJP)集成也可以使用mod_proxy+mod_proxy_http(HTTP),这里使用是mod_proxy+mod_proxy_http。

在Apache目录下的modules找一下,没有mod_jk.so,他是tomcat提供的,可以按照自己的机器和Apache版本找一个放在modules下面。

mod_jk.so下载地址http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/

我这里为了方便,直接使用mod_proxy.so+mod_proxy_http.so

接下来修改httpd.conf,加载mod_proxy.so、mod_proxy_http.so模块去掉#

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_module modules/mod_proxy_http.so

在httpd.conf的最后一行,重新开一行,没有任何结束符号的空白地方增加

ProxyPass "/sample1" "http://localhost:8081/sample1"
ProxyPassReverse "/sample1" "http://localhost:8081/sample1"
ProxyPass "/sample2" "http://localhost:8082/sample2"
ProxyPassReverse "/sample2" "http://localhost:8082/sample2"

访问localhost:80/sample1

Apache(web服务器)与Tomcat(应用服务器)搭建集群

访问localhost:80/sample2

Apache(web服务器)与Tomcat(应用服务器)搭建集群

上一篇:python中logging


下一篇:如何配置web服务器