日期:2014-05-17  浏览次数:20816 次

apache与 tomcat 集群配置与session共享
apache与 tomcat 集群配置与session共享

???? 关于apache 与?tomcat配合使用的优势就不废话了 直接来配置

?

(一)前期准备
我的系统用的是windowsXP专业版,我要做的是,用一个apache和多个(这里以两个作为示例)tomcat,通过jk方式,构造一个集群。以下是要首先准备的东西:

1、jdk,我用的版本是jdk1.5.0_06,

2、apache,我用的版本是 apache_2.2.3-win32-x86-no_ssl.msi

3、tomcat,我用的版本是? apache-tomcat-6.0.29

4、jk,这个jk的版本,本来有两个的,但是版本2已经被废弃掉了 。每个apache的版本,都会有一个特定的jk与之对应,所以这里要用的jk也必须是为apache-2.2.3开发的那个才行。我用的是 mod_jk-1.2.28-httpd-2.2.3.so?

有了这四样东西,我们就可以开始做集群了。
(二)安装
1、相信需要看这篇文章的人,JDK的安装一定不会陌生,这里不在赘述。只是需要提醒一下:环境变量别忘记配置了。


2、安装apache也没有什么难度,就是在安装过程中要配置域名、网址和管理员邮箱之类的信息,这个信息完全可以按照提示,然后修改下填入即可,之后想修改的话直接到配置文件中改就行了。除了这个地方,还要保证机器上的80端口没有被其他程序占用。至于安装路径,完全取决于个人爱好。其他的默认就行了。安装成功后,系统右下角的托盘区会有个图标,我们可以通过这个启动apache,如果那个小红点变成绿色,说明服务已经正常启动了(如果服务没有启动起来,说明安装过程中的配置有错误,建议卸载后重装)。如果按照默认,端口是80的话,那打开浏览器,输入:
http://localhost/,应该可以看到 " It works “的字样。这样就可以进入下一步了。

?


3、解压缩tomcat,记得要做两份。这里不妨将两个tomcat命名为:apache-tomcat-6.0.29_1_1和apache-tomcat-6.0.29_1_2,其实这两个文件夹中的东西是完全一样的。但是我为了在同一台机器上做集群,那就要保证两个 tomcat运行起来不会在端口上起冲突。这样,tomcat就算安装好了。

?


4、jk这东西是一个连接模块,不用安装,直接将mod_jk-apache-2.2.3.so这个文件拷贝到apache安装目录下的modules文件夹下面就行了。
这样,安装完成,下面开始配置。

?

(三)配置
这个地方才是搭建集群的关键所在,我也会尽我的可能写的详细点。

1、配置tomcat
?????? 修改 Tomcat 实例需要使用的三个网络端口 conf/server.xml

第一个tomcat

?????? <Server port="8105" shutdown="SHUTDOWN">
???? ?<Connector port="8180" protocol="HTTP/1.1"???

????? ????? ?connectionTimeout="20000"??????? redirectPort="8443" />

????? <Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />

?

???? ?通过修改 Engine 配置选项,配置集群中每个 Tomcat 实例的名称。

?

改成?? <Engine name="Standalone" defaultHost="localhost" jvmRoute="s1">

去掉?<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>的注释

?

第二个tomcat

?????? <Server port="8205" shutdown="SHUTDOWN">
???? ?<Connector port="8280" protocol="HTTP/1.1"???

????? ?????? ?connectionTimeout="20000"??????? redirectPort="8443" />

????? <Connector port="8209" protocol="AJP/1.3" redirectPort="8443" />

?

? ??? 通过修改 Engine 配置选项,配置集群中每个 Tomcat 实例的名称。

  • 修改前内容如下:
    <!-- You should set jvmRoute to support load-balancing via AJP ie : <Engine name = "Standalone" defaultHost = "localhost" jvmRoute = "jvm1"> <Engine name = "Catalina" defaultHost = "localhost"> -->
    
    

改成?? <Engine name="Standalone" defaultHost="localhost" jvmRoute="s2">