linux下apache+tomcat集群详细配置

linux下apache+tomcat集群详细配置,第1张

环境:

操作系统均为:CentOS 51

Apache2X服务器一台:IP地址1921682324;安装路径/usr/local/apache;

Tomcat6服务器一台:IP地址1921682325;安装路径/usr/local/tomcat;

Tomcat6服务器一台:IP地址1921682326;安装路径/usr/local/tomcat;

配置:

Apache安装:

#/configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared=all --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite

注释:激活tomcat集群需要的 enable-proxy,enable-proxy-http,enable-proxy-connect,enable-proxy-ajp和enable-proxy-balancer,其中proxy-ajp和proxy-balancer必须依赖proxy,如果是自定义的编译除了以上几个必须的模块外,mod_status也要编译进去,切记。enable-proxy-ftp可以不编译。

#make;make install

制作Apache启动项:

#cp support/apachectl /etc/rcd/initd/httpd

#vi /etc/rcd/initd/httpd

添加以下内容:(包括#号)

# Startup script for the Apache Web Server

# chkconfig: 2345 85 15

# description: Apache is a World Wide Web server It is used to server

# HTML files and CGI

# processname: httpd

# pidfile: /usr/local/apache/log/httpdpid

# config: /usr/local/apache/conf/httpdconf

增加服务项

#chkconfig --add httpd

#chmod 755 /etc/rcd/initd/httpd

#chkconfig --level 345 httpd on

JDK安装:

#chmod a+x jdk-6u4-linux-i586-rpmbin

#/jdk-6u4-linux-i586-rpmbin

JAVA环境变量设置:

#vi /etc/profile

文件最后添加以下内容:

JAVA_HOME=/usr/java/jdk160_04

CLASSPATH=:$JAVA_HOME/lib/toolsjar:$JAVA_HOME/lib/dtjar

PATH=$JAVA_HOME/bin:$PATH

CATALINA_HOME=/usr/local/tomcat

export JAVA_HOME CLASSPATH PATH CATALINA_HOME

执行如下命令使环境变量生效:

source /etc/profile

测试配置是否成功:

java –version

Tomcat安装:

#wget [url]http://apachemirrorphpchinacom/tomcat/tomcat-6/v6016/bin/apache-tomcat-6016targz[/url]

#tar zxvf apache-tomcat-6016targz

#mv apache-tomcat-6016 /usr/local/tomcat

Tomcat随机启动:

#vi /etc/rclocal

添加以下内容:

/usr/local/tomcat/bin/startupsh

tomcat6配置文件serverxml:

<!-- You should set jvmRoute to support load-balancing via AJP ie :

<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">

-->

<Engine name="Catalina" defaultHost="localhost">

改成

<!-- You should set jvmRoute to support load-balancing via AJP ie :

-->

<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcatX">

<!--

<Engine name="Catalina" defaultHost="localhost">

-->

说明:

第一台tomcat就把jvmRoute="tomcat1"

第二台tomcat就把jvmRoute="tomcat2"

<!--

<Cluster className="orgapachecatalinahatcpSimpleTcpCluster"/>

-->

去掉注释变为

<Cluster className="orgapachecatalinahatcpSimpleTcpCluster"/>

群集详细配置

<Cluster className="orgapachecatalinahatcpSimpleTcpCluster"

channelSendOptions="8">

<Manager className="orgapachecatalinahasessionDeltaManager"

expireSessionsOnShutdown="false"

notifyListenersOnReplication="true"/>

<Channel className="orgapachecatalinatribesgroupGroupChannel">

<Membership className="orgapachecatalinatribesmembershipMcastService"

address="228004"

port="45564"

frequency="500"

dropTime="3000"/>

<Receiver className="orgapachecatalinatribestransportnioNioReceiver"

address="auto"

port="4000"

autoBind="100"

selectorTimeout="5000"

maxThreads="6"/>

<Sender className="orgapachecatalinatribestransportReplicationTransmitter">

<Transport className="orgapachecatalinatribestransportnioPooledParallelSender"/>

</Sender>

<Interceptor className="orgapachecatalinatribesgroupinterceptorsTcpFailureDetector"/>

<Interceptor className="orgapachecatalinatribesgroupinterceptorsMessageDispatch15Interceptor"/>

</Channel>

<Valve className="orgapachecatalinahatcpReplicationValve"

filter=""/>

<Valve className="orgapachecatalinahasessionJvmRouteBinderValve"/>

<Deployer className="orgapachecatalinahadeployFarmWarDeployer"

tempDir="/tmp/war-temp/"

deployDir="/tmp/war-deploy/"

watchDir="/tmp/war-listen/"

watchEnabled="false"/>

<ClusterListener className="orgapachecatalinahasessionJvmRouteSessionIDBinderListener"/>

<ClusterListener className="orgapachecatalinahasessionClusterSessionListener"/>

</Cluster>

配置应用的webxml:

在每个webapps应用中,修改配置文件webxml文件 添加元素<distributable/>

在webxml文件中<web-app>元素下增加以下内容:

<!--此应用将与群集服务器复制Session-->

<distributable/>

具体修改如下:

修改前:

<xml version="10" encoding="ISO-8859-1">

<web-app xmlns="[url]http://javasuncom/xml/ns/javaee[/url]"

xmlns:xsi="http://wwww3org/2001/XMLSchema-instance"

xsi:schemaLocation="http://javasuncom/xml/ns/javaee [url]http://javasuncom/xml/ns/javaee/web-app_2_5xsd[/url]"

version="25">

</web-app>

修改后:

<xml version="10" encoding="ISO-8859-1">

<web-app xmlns="[url]http://javasuncom/xml/ns/javaee[/url]"

xmlns:xsi="http://wwww3org/2001/XMLSchema-instance"

xsi:schemaLocation="http://javasuncom/xml/ns/javaee [url]http://javasuncom/xml/ns/javaee/web-app_2_5xsd[/url]"

version="25">

<!--此应用将与群集服务器复制Session-->

<distributable/>

</web-app>

配置apache的ajp负载均衡功能:

确保将以下Module的注释去掉

LoadModule proxy_module modules/mod_proxyso

LoadModule proxy_connect_module modules/mod_proxy_connectso

LoadModule proxy_ftp_module modules/mod_proxy_ftpso

LoadModule proxy_http_module modules/mod_proxy_httpso

LoadModule proxy_ajp_module modules/mod_proxy_ajpso

LoadModule proxy_balancer_module modules/mod_proxy_balancerso

LoadModule status_module modules/mod_statusso

增加以下内容:

# Proxypass Config

Include conf/extra/httpd-modproxyconf

建立文件httpd-modproxyconf输入内容:

<Location /server-status>

SetHandler server-status

Order Deny,Allow

Deny from all

Allow from all

</Location>

<Location /balancer-manager>

SetHandler balancer-manager

Order Deny,Allow

Deny from all

Allow from all

</Location>

ProxyRequests Off

ProxyPass / balancer://tomcatcluster stickysession=jsessionid nofailover=On

<Proxy balancer://tomcatcluster>

BalancerMember [url]http://1921682325:8080[/url] loadfactor=1

BalancerMember [url]http://1921682326:8080[/url] loadfactor=2

</Proxy>

注释:

ProxyRequests Off 表示启用反向代理,必须开启;

ProxyPass为代理转发的Url,即将所有访问/的请求转发到群集balancer://tomcatcluster,这里为/即将所有访问/的请求转发到群集balancer://tomcatcluster的/test目录;

BalancerMember为群集的成员,即群集服务器1或2,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember;

调试负载均衡集群系统:

访问apache服务器的web服务:[url]http://1921682324/balancer-manager[/url]

如果显示负载均衡有关信息则说明成功了,接着可以访问[url]http://1921682324/[/url]即访问到了tomcat的应用

必须先启动Tomcat服务再启动Apache服务!

参考文档:

[url]http://tomcatapacheorg/tomcat-60-doc/cluster-howtohtml[/url]

[url]http://tomcatapacheorg/tomcat-60-doc/balancer-howtohtml[/url]

[url]http://manchinaunixnet/newsoft/ApacheMenual_CN_22new/mod/mod_proxyhtml[/url]

[url]http://manchinaunixnet/newsoft/ApacheMenual_CN_22new/mod/mod_proxy_balancerhtml[/url]

在linux中可以实现用户定制的Tomcat实例。如果多个开发人员需要共享安装的tomcat,但是他们需要自己的唯一实例,那么非常的有用。要实现这个需要设置CATALINA_BASEexportCATALINA_BASE=$HOME/tomcat如果环境中不存在,那么CATALINA_BASE将自动被设置为CATALINA_HOME。下面,需要在主目录下建立Tomcat目录,并且创建或者拷贝特定目录。cd$HOMEmdtomcatcdtomcatmdlogsmdwebappsmdworkmdtemp如果希望拷贝tomcatwebapps目录的内容,可以把他们拷贝到新的webapps目录。修改conf/serverxml文件,替换以下的端口以免冲突。如果将Tomcat配置成为Apache的侦听端口8009,那么可以在serverxml文件中注释该元素而禁用该连接器。其他可能需要修改的端口:8080默认的连接端口8443SSL的连接端口8009Apache的侦听端口8005用于停止Tomcat的端口修改完成后,可以使用CATALINA_HOME/bin目录中的常见的startupsh与shutdownsh脚本来启动和停止Tomcat。此时候因为文件权限设置为你的用户使用,所以不要使用tomcat用户。

1 准备工作

下载相应版本的Linux版JDK、Tomcat安装文件。

例:jdk-6u21-linux-i586-rpmbin (安装版)

jdk-6u21-linux-i586rpm (安装版)

jdk-7u79-linux-x64targz (解压缩版)

推荐搭配:JDK17 + Tomcat70 较稳定

2 安装JDK

首先将安装包通过ftp上传到指定的文件目录下 例:/usr/local/java

新建文件夹命令:

[root@localhost usr]#mkdir /usr/local/java

增加执行权限命令:

[root@localhost usr]#chmod a+x jdk-6u21-linux-i586-rpmbin

安装命令:

[root@localhost usr]#rpm -ivh jdk-6u21-linux-i586rpm

说明:

以“rpm”结尾的安装包 执行:rpm -ivh jdk-6u21-linux-i586rpm 命令

以“bin”结尾的安装包 执行:/jdk-6u21-linux-i586rpm 命令

以“targz”结尾的安装包 执行:tar –xvf jdk-7u79-linux-x64targz 命令

3 配置环境变量

在/etc/profile中加入JAVA_HOME CLASSPATH PATH环境变量。

命令:[root@localhost jdk160_21]# vi /etc/profile

按‘o’进入编辑模式

在最后加入:

JAVA_HOME=/usr/local/jdk160_45(此处为对应的JDK安装路径)

CLASSPATH=:$JAVA_HOME/lib/toolsjar

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH

按‘Esc’--> 输入‘:wq’保存并退出

4 JDK测试

检测JDK是否安装成功:

命令:[root@localhost ~]# java –version

如看到JVM版本及相关信息,即安装成功。

如果报错:

If 'java' is not a typo you can run the following command to lookup the package that contains the binary: command-not-found java-bash: java: command not found

则说明环境变量配置错误!

5 安装Tomcat

[root@localhost ~]# tar –xvf apache-tomcat-6029tar //解压

[root@localhost tomcat]# mkdir /usr/local/tomcat //在usr/local下新建tomcat目录

[root@localhost ~]# cp –R apache-tomcat-6029 /usr/local/tomcat //拷贝至 tomcat下

6 设置Tomcat编码(可忽略)

配置Tomcat服务器编码为UTF-8:

打开tomcat安装目录下的conf/serverxml文件,(大约在69行处)将8080端口的<connector></connector>标签中设置成 URIEncoding=”UTF-8”。

7 启动Tomcat

[root@localhost ~]# /usr/local/tomcat/apache-tomcat-6029/bin/startupsh

使用浏览器访问 http://localhost:8080,出现tomcat默认页面,说明已经安装成功

8 项目部署

将web项目打成war包,上传到Linux操作系统tomcat安装目录下的webapps下即可!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux下apache+tomcat集群详细配置

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情