北大青鸟|上海北大青鸟|软件测试培训|软件开发培训|上海软件测试培训|网络营销培训|

您现在的位置:上海电脑学校 IT精英培训基地 >> 大学生就业直播 >> 浏览文章

【大学生就业直播】软件测试关于Linux+tomcat6+apache2.2集群部署
发布来源:上海北大青鸟【官方网站】    发布时间:2013-6-22 10:30:13    浏览次数: 1193

1安装虚拟机和linux As 5系统

2集群所需软件下载

jdk-6u23-linux-i586-rpm.bin

httpd-2.2.17.tar.gz

tomcat-connectors-1.2.31-src.tar.gz

apache-tomcat-6.0.29.tar.gz

3 安装步骤 

3.1 安装JDK 

# cd /usr/local/ 

# chmod 777 jdk-6u23-linux-i586-rpm.bin 

# ./jdk-6u23-linux-i586-rpm.bin 

# cd /usr/java/ 

# ln -s /usr/java/jdk1.6.0_23 /usr/local/java 

# vi /etc/profile 

注销系统

#添加如下内容 

JAVA_HOME=/usr/local/java/ 

CLASSPATH=/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar 

PATH=/usr/local/java/bin:$PATH 

export PATH JAVA_HOME CLASSPATH 

【注】注销系统后,如果出现没有出现如下结果。使用vi检查是否复制的时候加入其他字符

运行java -version

出现如下信息,代表安装配置成功

java version "1.6.0_23"

Java(TM) SE Runtime Environment (build 1.6.0_23-b05)

Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)

3.2 安装Apache

# cd /usr/local/

# tar xvfz httpd-2.2.17.tar.gz

# cd httpd-2.2.17

# ./configure --prefix=/usr/local/apache --enable-module=so

# make

# make install

# cd /usr/local/apache/conf

# vi ./httpd.conf 

将Listen 80修改为Listen <Your IP>:80

例如:Listen 192.168.0.72:80

将ServerName修改为ServerName <HOST-NAME>:80

例如:ServerName 192.168.0.72:80

在DirectoryIndex中添加index.jsp

# cd /usr/local/apache/bin/

# ./apachectl configtest

若显示Syntax ok则表明安装成功

#./apachectl start

启动apache服务,访问本机80端口,查看端口是否正常

# ./apachectl stop

关闭服务

备注:prefix定义apache的安装路径 

3.3 安装Tomcat

# cd /usr/local/

# tar xvfz apache-tomcat-6.0.29.tar.gz

# ln -s /usr/local/apache-tomcat-6.0.29 /usr/local/tomcat

# vi /usr/local/tomcat/bin/catalina.sh

JAVA_HOME=/usr/local/java

启动服务后,访问本机8080端口,查看端口是否正常

# /usr/local/tomcat/bin/startup.sh run

使用ctrl+c关闭当前程序。如果无法关闭系统,并且出现8080端口占用。双击执行shutdown.sh文件关闭。

3.4 安装JK

#cd /usr/local/

# tar xzvf tomcat-connectors-1.2.31-src.tar.gz

#cd tomcat-connectors-1.2.31-src/native

#chmod 755 buildconf.sh

#./buildconf.sh

# ./configure --with-apxs=/usr/local/apache/bin/apxs

#make

#make install

mod_jk.so 已经存在于/usr/local/apache/modules/ 

4 系统整合

4.1 在文件最末尾加上如下语句

#vi /usr/local/apache/conf/httpd.conf

# Load mod_jk

LoadModule jk_module modules/mod_jk.so

# Configure mod_jk

JkWorkersFile conf/workers.properties

JkLogFile logs/mod_jk.log

JkLogLevel info

JkMount /*.jsp loadbalancer

JkMount /servlet/* loadbalancer

JkMount /application/* loadbalancer 

JkMount /nerp/* loadbalancer 

#====

#在此添加应用的nerp应用的都由 loadbalancer来分发

#不然无法加载文件,包括图片,脚本,swc等等

#====

4.2 添加workers.properties

#vi /usr/local/apache/conf/workers.properties

内容如下:

worker.list=loadbalancer

#Define a ‘local_worker’ worker using ajp13

worker.worker1.port=8009

worker.worker1.host=192.168.0.72

worker.worker1.type=ajp13

worker.worker1.lbfactor=1

#Define another ‘local_worker’ worker using ajp13

worker.worker2.port=8009

worker.worker2.host=192.168.0.90

worker.worker2.type=ajp13

worker.worker2.lbfactor=1

#Define the LB worker

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=worker1,worker2

worker.loadbalancer.local_worker_only=1

worker.loadbalancer.sticky_session=true

注:以上定义了两个worker,一个为worker1,另一个为worker2,定义了一个负载平衡服务器loadbalancer

  

worker.list=loadbalancer

设定工作的负载平衡器,各Tomcat节点不能加入此列表。

worker.worker1.lbfactor

负载平衡的权重比,如果此权重比越大,则分配到此节点的请求越多,如以上两个节点的权重比为1:1,则为平均分配。

worker.loadbalancer.balance_workers=worker1,worker2

指定此负载平衡器负责的Tomcat应用节点。

worker.loadbalancer.sticky_session=true

此处指定集群是否需要会话复制,如果设为true,则表明为会话粘性,不进行会话复制,当某用户的请求第一次分发到哪台Tomcat后,后继的请求会一直分发到此Tomcat服务器上处理;如果设为false,则表明需求会话复制。

worker.loadbalancer.sticky_session_force=true

如果上面的sticky_session设为true时,建议此处也设为true,此参数表明如果集群中某台Tomcat服务器在多次请求没有响应后,是否将当前的请求,转发到其它Tomcat服务器上处理;此参数在sticky_session=true时,影响比较大,会导致转发到其它 Tomcat服务器上的请求,找不到原来的session,所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常。 

4.3 修改server.xml

#vi /usr/local/tomcat/conf/server.xml

<Engine name=”Standalone” defaultHost=”localhost” jvmRoute=”worker1”></Engine>

并且把下面群集配置释放出来,添加如下内容。

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"

channelSendOptions="6">

<!--

<Manager className="org.apache.catalina.ha.session.BackupManager"

expireSessionsOnShutdown="false"

notifyListenersOnReplication="true"

mapSendOptions="6"/>

-->

<Manager className="org.apache.catalina.ha.session.DeltaManager"

expireSessionsOnShutdown="false"

notifyListenersOnReplication="true"/>

<Channel className="org.apache.catalina.tribes.group.GroupChannel">

<Membership className="org.apache.catalina.tribes.membership.McastService"

address="228.0.0.4"

port="45564"

frequency="500"

dropTime="3000"/>

<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"

address="192.168.0.72"

port="5000"

selectorTimeout="100"

maxThreads="6"/>

<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">

<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>

</Sender>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>

</Channel>

<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"

filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"

tempDir="/tmp/war-temp/"

deployDir="/tmp/war-deploy/"

watchDir="/tmp/war-listen/"

watchEnabled="false"/>

<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

</Cluster>

同样修改,第二台worker2,将jvmRoute的修改为worker2。此处的jvmRoute最好与workers.properties中的名称统一

至此,系统已经整个完毕

启动apache和tomcat服务

# /usr/local/apache/bin/apachectl start

#/usr/local/tomcat/bin/catalina.sh run

将如下内容添加至/etc/rc.d/rc.local文件末尾,以便系统启动后开启apache,tomcat服务

/usr/local/tomcat/bin/catalina.sh start

/usr/local/apache/bin/apachectl start 

5部署应用

将nerp应用复制到/usr/local/tomcat/webapps/目录下

 

关键词:上海北大青鸟

上一篇: 软件测试之LoadRunner压力测试实例   下一篇: 软件测试bug管理流程
  友情链接(交换友情链接请联系张老师)