centos 安装 tomcat6 centos7下载地址

今天给各位分享centos 安装 tomcat6的知识,其中也会对centos7下载地址进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

CentOS 6.2系统安装和基本软件环境配置

一、安装CentOS6.2系统

1、选择Desktop进行安装

注:如果修改了主机名,则需要在/etc/hosts文件中增加设置的主机名

2、ssh安全设置(配置文件:/etc/ssh/sshd_config):

1)更改默认22端口:去掉 Port的注释,改成如:22123

2)禁止root账号登录:去掉PermitRootLogin yes注释,改成:PermitRootLogin no

3)新增SSH登录用户,登录成功后再su到root:

复制代码

   

代码如下:

# useradd xiaoma

   # passwd xiaoma

然后修改ssh配置文件,最后加入:AllowUsers xiaoma

4)重启SSH服务:service sshd restart

5)更改防火墙配置,允许22123端口,加入:-A INPUT-m state–state NEW-m tcp-p tcp–dport 22123-j ACCEPT,并重启防火墙生效:service iptables restart

二、软件环境配置

1、安装编译环境:

复制代码

   

代码如下:

# yum install gcc gcc-c++

注:代理上网,命令行:export http_proxy=

2、安装一些必备的库

复制代码

   

代码如下:

# yum install ncurses-devel zlib-devel libjpeg* libpng* freetype*

注:ncurses-devel–编译安装mysql5.5时需要

zlib-devel–编译安装httpd需要

libjpeg*、libpng*、freetype*–编译安装php需要

3、安装clamAV杀毒软件

复制代码

   

代码如下:

# tar xzf clamav-0.97.4.tar.gz

   # cd clamav-0.97.4

   #./configure--prefix=/usr/local/clamav--disable-clamav

   # make

   # make install

# groupadd clamav

   # useradd-g clamav clamav

   # chown-R clamav.clamav/usr/local/clamav

操作示例:

1)更新病毒库:bin/freshclam(需要修改etc/freshclam.conf文件把Example行注释掉)

2)扫描指定的目录:bin/clamscan–bell-i-r/usr/local

4、安装JDK

复制代码

   

代码如下:

# chmod+x jdk-6u33-linux-i586.bin

   #./jdk-6u33-linux-i586.bin

   # mv jdk1.6.0_33//usr/local

设置JDK环境变量,/etc/profile文件中最后加入如下配置:

复制代码

   

代码如下:

JAVA_HOME=/usr/local/jdk1.6.0_33

   export JAVA_HOME

   export PATH=/usr/local/mysql5/bin:$JAVA_HOME/bin:$PATH

然后更新环境变量使之生效:

复制代码

   

代码如下:

# source/etc/profile

查看安装的java版本:

复制代码

   

代码如下:

# java-version

5、安装Mysql5.5(mysql5.5需要cmake编译,需要先安装cmake)

复制代码

   

代码如下:

# tar xzf cmake-2.8.7.tar.gz

   # cd cmake-2.8.7

   #./configure

   # make make install

# mkdir-p/usr/local/mysql5

   # groupadd mysql

   # useradd-g mysql mysql

   # chown mysql.mysql-R/usr/local/mysql5

# tar xzf mysql-5.5.19.tar.gz

   # cd mysql-5.5.19/

   # cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5-DMYSQL_UNIX_ADDR=/usr/local/mysql5/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1-DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/usr/local/mysql5/data-DMYSQL_USER=mysql-DMYSQL_TCP_PORT=3306

   # make

   # make install

配置Mysql,进行如下操作:

复制代码

   

代码如下:

# cp support-files/my-medium.cnf/etc/my.cnf

   # chmod 755 scripts/mysql_install_db

   # scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql5--datadir=/usr/local/mysql5/data

# cp support-files/mysql.server/etc/init.d/mysql

   # chmod 755/etc/init.d/mysql

   # chkconfig mysql on

启动mysql并设置root账号密码:

复制代码

   

代码如下:

#/etc/init.d/mysql start或 service mysql start

   #/usr/local/mysql5/bin/mysqladmin-uroot password'root'

加入环境变量,在/etc/profile文件中最后加入:

复制代码

   

代码如下:

export PATH=/usr/local/mysql5/bin:$PATH

修改默认的mysql最大连接数(默认只有151),打开/etc/my.cnf文件,在[mysqld]的下面加入:max_connections=1000,然后重启mysql即可生效,查看最大连接数:

复制代码

   

代码如下:

mysqlshow VARIABLES LIKE'%conn%';

6、安装httpd

复制代码

   

代码如下:

# tar xzf httpd-2.2.21.tar.gz

   # cd httpd-2.2.21/

   # cd srclib/apr

   #./configure--prefix=/usr/local/apr

   # make

   # make install

# cd../apr-util

   #./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr

   # make

   # make install

# cd../..

   #./configure--prefix=/usr/local/apache2--enable-so--enable-mods-shared=all--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--enable-dav--enable-proxy--enable-proxy-ajp

   # make

   # make install

启动httpd并访问进行测试(注意iptables需要打开80端口):

复制代码

   

代码如下:

#/usr/local/apache2/bin/apachectl start

如果需要禁止对某个目录的访问,可以在该目录下新建.htaccess文件,并输入如下内容:

复制代码

   

代码如下:

order allow,deny

   deny from all

7、安装php

复制代码

   

代码如下:

# tar xzf libxml2-2.7.5.tar.gz

   # cd libxml2-2.7.5

   #./configure--prefix=/usr/local/libxml2

   # make

   # make install

# cd..

   # rpm-qa php

   # rpm-e--nodeps--allmatches php-5.1.6-27.el5

   # tar xzf php-5.3.1.tar.gz

   # cd php-5.3.1

   #./configure--prefix=/usr/local/php5--with-libxml-dir=/usr/local/libxml2/--with-mysql=/usr/local/mysql5/--with-apxs2=/usr/local/apache2/bin/apxs--with-mbstring--enable-mbstring=all--with-gd

   # make

   # make install

   # cp php.ini-production/usr/local/php5/lib/php.ini

修改httpd.conf文件:

1)在AddType application/x-gzip.gz.tgz之后加一行:AddType application/x-httpd-php .php

2)在DirectoryIndex index.html后加入index.php

重启httpd后即可使php生效!

8、安装Tomcat7

复制代码

   

代码如下:

# unzip-q apache-tomcat-7.0.23.zip

   # mv apache-tomcat-7.0.23 tomcat-7

配置tomcat的虚拟主机,打开conf/server.xml配置文件,加入如下段(多个则加入多个如下段即可):

复制代码

   

代码如下:

Host name="www." appBase="webapps"

   unpackWARs="true" autoDeploy="true"

   Aliaschinapis.com/Alias

   Context path="" docBase="/webapps/www."/

   /Host

配置完tomcat后,还需要配置apache的虚拟主机文件(conf/extra/httpd-vhosts.conf):

复制代码

   

代码如下:

VirtualHost*:80

   DocumentRoot"/kington/webapps/chinapis"

   ServerName www.

   ServerAlias

ErrorLog"|/usr/local/apache2/bin/rotatelogs/usr/local/apache2/logs/_%Y-%m-%d_error_log 86400 480"

   CustomLog"|/usr/local/apache2/bin/rotatelogs/usr/local/apache2/logs/_%Y-%m-%d_access_log 86400 480" common

ProxyPass/images/!

   ProxyPass/styles/!

ProxyPreserveHost On

   ProxyPass/ ajp://localhost:8009/

   ProxyPassReverse/ ajp://localhost:8009/

   /VirtualHost

上述配置中的说明如下:

1)ErrorLog和CustomLog配置了日志文件的轮询时间(86400表示秒是一天,480是时区的偏移)

三、常见问题

1、编译安装php时遇到:configure: error: libpng.(a|so) not found,首先安装各个依赖组件(libjpeg、libpng、freetype),然后做如下处理:

复制代码

   

代码如下:

# ln-s/usr/lib64/libjpeg.so/usr/lib/

   # ln-s/usr/lib64/libpng.so/usr/lib/

2、解压bin格式的jdk时候报错:/lib/ld-linux.so.2: bad ELF interpreter,需要安装一些缺少的文件:

复制代码

   

代码如下:

# yum install ld-linux.so.2

linux下apache+tomcat集群详细配置

环境:

操作系统均为:CentOS 5.1

Apache2.X服务器一台:IP地址192.168.232.4;安装路径/usr/local/apache;

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

Tomcat6服务器一台:IP地址192.168.232.6;安装路径/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/rc.d/init.d/httpd

#vi/etc/rc.d/init.d/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/httpd.pid

# config:/usr/local/apache/conf/httpd.conf

增加服务项

#chkconfig--add httpd

#chmod 755/etc/rc.d/init.d/httpd

#chkconfig--level 345 httpd on

JDK安装:

#chmod a+x jdk-6u4-linux-i586-rpm.bin

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

JAVA环境变量设置:

#vi/etc/profile

在文件最后添加以下内容:

JAVA_HOME=/usr/java/jdk1.6.0_04

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

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][/url]

#tar zxvf apache-tomcat-6.0.16.tar.gz

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

Tomcat随机启动:

#vi/etc/rc.local

添加以下内容:

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

tomcat6配置文件server.xml:

<!-- 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="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

-->

去掉注释变为

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

***群集详细配置***

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

channelSendOptions="8">

<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="auto"

port="4000"

autoBind="100"

selectorTimeout="5000"

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"/>

</Channel>

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

filter=""/>

<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

<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.JvmRouteSessionIDBinderListener"/>

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

</Cluster>

配置应用的web.xml:

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

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

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

<distributable/>

具体修改如下:

修改前:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="[url][/url]"

xmlns:xsi=""

xsi:schemaLocation=" [url][/url]"

version="2.5">

</web-app>

修改后:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="[url][/url]"

xmlns:xsi=""

xsi:schemaLocation=" [url][/url]"

version="2.5">

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

<distributable/>

</web-app>

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

确保将以下Module的注释去掉

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule status_module modules/mod_status.so

增加以下内容:

# Proxypass Config

Include conf/extra/httpd-modproxy.conf

建立文件httpd-modproxy.conf输入内容:

<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][/url] loadfactor=1

BalancerMember [url][/url] loadfactor=2

</Proxy>

注释:

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

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

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

调试负载均衡集群系统:

访问apache服务器的web服务:[url][/url]

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

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

参考文档:

[url][/url]

[url][/url]

[url][/url]

[url][/url]

tomcat6.0怎么修改配置文件server.xml以便启用Ajp13

你看看这个:

tomcat6_apache2.2_ajp负载均衡加集群实战

环境:

--------------------------------------------

一台apache2.2服务器,三台tomcat服务器:

apache2.2服务器

1.ip:192.168.1.20

2.只装apache软件:httpd-2.2.6.tar.bz2

安装路径:/usr/local/apache2

tomcat服务器:均配置相同的应用。

1.集群名:balancer://tomcatcluster

2.三台集群服务器ip:

IP_1:192.168.1.31

IP_2:192.168.1.32

IP_3:192.168.1.33

3.测试应用程序test文件夹放在tomcat6的webapps目录下

操作系统均为:centos 4.5_x86

jre:1.6:jdk-6u1-linux-i586-rpm.bin

tomcat6.0:编译好的二进制软件包apache-tomcat-6.0.13.tar.gz

tomcat6.0安装路径:/usr/local/tomcat6

oralce的jdbc:class12.jar

软件包存放的路径:/home/xiutuo/software/

java安装路径:/usr/java/jdk1.6.0_01

使用普通用户:xiutuo来启动tomcat6

tomcat6开机自动启动脚本:/etc/init.d/tomcat

下载路径:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

一:前言:

1.apache对tomcat集群支持有俩种方式:

a.通过apache2.1之后版本后内置的proxy_ajp。

b.对于apache2.1之版本则通过tomcat的jk2.0.4的mod_jk2.so:

(该版本已经停止开发)

将解压缩后的目录中的modules目录中的mod_jk2.so

文件复制到apache的安装目录下的modules目录中。

********************

俩种方式比较:

proxy_ajp配置较简单,主要表现在proxy_ajp目前只支持配置到目录,

还不支持对文件名称的pattern模式匹配

(即还不能定义到只对jsp文件起作用)。

而jk2则可配置性强,但已经停止开发

********************

官方对ajp和jk2说明:

JK2 has been put in maintainer mode and no further development will take place.

The reason for shutting down JK2 development was the lack of developers interest.

Other reason was lack of users interest in adopting JK2,

caused by configuration complexity when compared to JK.

The latest official JK2 release is 2.0.4.

JK2 will have it's successor within core Apache2.1/2.2 distribution.

We have developed new proxy_ajp that is an addition to the mod_proxy

and uses Tomcat's AJP protocol stack. It is developped in httpd-2.1

and integrated in it. We have also developed a new proxy_balancer

module for load balancing http and ajp protocol stacks.

JK will be fully supported for all other web servers.

The next JK release is planned for the end of November.

Lots of code from JK2 has been ported to JK

2.tomcat集群方式:

a.DeltaManager

--现在采用的该方式:内部机器集群少采用

b.BackupManager

********************

两种集群方式官方说明:

using the DeltaManager to replicate session deltas.

By all-to-all we mean that the session gets replicated to

all the other nodes in the cluster. This works great for smaller cluster

but we don't recommend it for larger clusters(a lot of tomcat nodes).

Also when using the delta manager it will replicate to all nodes,

even nodes that don't have the application deployed.

To get around this problem, you'll want to use the BackupManager.

This manager only replicates the session data to one backup node,

and only to nodes that have the application deployed.Downside of

the BackupManager: not quite as battle tested as the delta manager.

********************

3.负载均衡(load-balance)定义:

在服务器端短时间内获得大量的请求,单一服务器无法在一个较短的时间内响应这些请求,

此时服务器需要一个机制,请求按照多个服务器不同的负载能力,把这些请求合理的分配。

4.集群(cluster):

在多个服务器之间共享用户信息,资源等。

tomcat6_apache2.2负载均衡加集群:高可用性至高体现。

现在的带集群功能相关软件oracle10g,mysql5,tomcat等。

二:软件安装

1.apache服务器安装:

这里主要介绍apache2的源码安装

# cd/home/xiutuo/software/

# tar-zvxf httpd-2.2.6.tar.gz

# cd httpd-2.2.6

# mkdir-p/usr/local/apache2

#./configure\

--prefix=/usr/local/apache2\

--enable-modules=so\

--enable-mods-shared=all\

--enable-proxy\

--enable-proxy-connect\

--enable-proxy-ftp\

--enable-proxy-http\

--enable-proxy-ajp\

--enable-proxy-balancer

注释:这里测试用,编译了所有可用模块,并激活了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

2.三台tomcat服务器安装

主要介绍jdk1.6u1和tomcat6的安装,三台机器重复此工作就可以了,

当然记得ip一定要设置正确。

jdk1.6安装

-------------------------------

a.卸载系统自带jdk

# rpm-e j2sdk-1.4.1-fcs

b.安装新jdk

# cd/home/xiutuo/software

进入软件包存放目录

# chmod a+x jdk-6u1-linux-i586-rpm.bin

使它有执行权限

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

多敲几个空格,然后看到[yes]的时候输入yes,回车

然后在当前目录下就生成了jdk-6u1-linux-i586-rpm

# rpm-ivh jdk-6u1-linux-i586-rpm

c.设置环境变量

仅设置某个用户而不是所有用户可以修改~/.cshrc,~/.bash_profile文件,

追加下面一段,如果为所有用户以及以后添加的用户都加上环境变量的话,

追加/etc/profie文件.

***主意不要在profile和~/.cshrc或~/.bash_profile中重复追加**

这里:

# vi/etc/profile

//java

//如果你安装的j2sdk的路径不一样,请自行修改

JAVA_HOME=/usr/java/jdk1.6.0_01

export JAVA_HOME

CLASSPATH=/usr/java/jdk1.6.0_01/lib:/usr/java/jdk1.6.0_01/jre/lib

export CLASSPATH

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH

JRE=/usr/java/jdk1.6.0_01/jre

export JRE

d:立即生效

//如果你修改的是/etc/profile

# source/etc/profile

//如果你修改的是~/.cshrc

# source~/.cshrc

//如果你修改的是~/.bash_profile

# source~/.bash_profile

e:测试成功否

# java-version

Java(TM) SE Runtime Environment(build 1.6.0_01-b06)

Java HotSpot(TM) Client VM(build 1.6.0_01-b06, mixed mode, sharing)

看到这个消息,就ok啦

----------------------------------------------

tomcat6安装

tomcat6更详细的安装请看blog上tomcat文章

----------------------------------------------

a.安装tomcat,

# cd/home/xiutuo/software//进入软件包存放目录

# tar-zvxf apache-tomcat-6.0.13.tar.gz//解压

# mv apache-tomcat-6.0.13/usr/local/tomcat6//安装

# cd/usr/local/tomcat6/bin///进入安装目录

# tar-zvxf jsvc.tar.gz//解压

# cd jsvc-src//进入jsvc-src目录

# autoconf

#./configure--with-java=/usr/java/jdk1.6.0_01

# configure时切记加java的jdk路径,否则无法使用普通用户开机自动启动tomcat

# make//编译生成jsvc文件

# cp jsvc..//拷贝jsvc到上级目录

# cd..//回到上级目录

# cd/usr/local/tomcat6/

//运行下面的命令可以使tomcat以daemon方式运行

#./bin/jsvc-cp./bin/bootstrap.jar\

-outfile./logs/catalina.out\

-errfile./logs/catalina.err\

org.apache.catalina.startup.Bootstrap

b.配置oralce的jdbc

//拷贝oracle的jdbc到/usr/local/tomcat6/lib目录下

# cp/home/software/class12.jar./lib/

c.配置tomcat用户

# cd/usr/local/tomcat6/conf

# vi tomcat-users.xml

内容如下:

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

<role rolename="tomcat"/>

<role rolename="role1"/>

<role rolename="manager"/>

<role rolename="admin"/>

<user username="tomcat" password="tomcat" roles="tomcat"/>

<user username="role1" password="tomcat" roles="role1"/>

<user username="both" password="tomcat" roles="tomcat,role1"/>

<user username="admin" password="admin" roles="admin,manager"/>

</tomcat-users>

请修改tomcat里所有定义用户的密码:即修改password为自己想要的值。

d.把应用程序文件夹test放到webapps下

3.tomcat负载均衡和集群配置

参考官方配置文档:

a.tomcat6配置文件server.xml和应用程序的web.xml

**开放负载均衡,默认使用ajp协议时使用8009端口(使用http协议时为8080端口)

**修改tomcat的 conf/server.xml的<Engine>(使用ajp协议时配置)

<!-- 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="tomcat1">

<!--

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

-->

说明:

第一台tomcat就把jvmRoute="tomcat1"

第二台tomcat就把jvmRoute="tomcat2"

第三台tomcat就把jvmRoute="tomcat3"

**开放集群

**修改tomcat的 conf/server.xml(使用ajp协议时配置)

在<Engine>后面或者<Host>后面简单的加上

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

也可以加上更详细参数的集群配置内容(这是官方默认,请自行修改相关参数):

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

channelSendOptions="8">

<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="auto"

port="4000"

autoBind="100"

selectorTimeout="5000"

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"/>

</Channel>

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

filter=""/>

<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

<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.JvmRouteSessionIDBinderListener"/>

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

</Cluster>

***配置应用的web.xml

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

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

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

<distributable/>

具体修改如下:

修改前:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns=""

xmlns:xsi=""

xsi:schemaLocation=" "

version="2.5">

</web-app>

修改后:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns=""

xmlns:xsi=""

xsi:schemaLocation=" "

version="2.5">

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

<distributable/>

</web-app>

4.配置apache的ajp负载均衡功能,这里请务必启用反向代理。

******************************

至于其中的原理请参考官方文档说明。

正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。

正向代理还可以使用缓冲特性(由mod_cache提供)减少网络使用率。

反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。

反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。

另外,还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时

存在于同一个URL空间下。

*****************************

参考文档:

tomcat6官方文档

apache中文版本

apache官方英文版本

***配置apache

***修改/usr/local/apache2/conf/httpd.conf文件

确保将以下Module的注释去掉

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule status_module modules/mod_status.so

并在最后面,增加

<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/test balancer://tomcatcluster/ stickysession=jsessionid nofailover=On

<Proxy balancer://tomcatcluster>

BalancerMember ajp://192.168.1.30:8009 loadfactor=1

BalancerMember ajp://192.168.1.31:8009 loadfactor=2

BalancerMember ajp://192.168.1.32:8009 loadfactor=3

</Proxy>

注释:

ProxyRequests Off表示启用反向代理。

ProxyPass为代理转发的Url,即将所有访问/的请求转发到

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

BalancerMember为群集的成员,

即群集服务器1或2或3,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember。

配置好后,启动Apahce服务器,访问localhost就会看到群集服务器中应用返回的结果。

访问,显示负载均衡有关信息

5.调试负载均衡集群系统

调试前务必:

先开启三台tomcat6服务器的tomcat服务!

再开启apache服务器的apache服务,切记!

a.开启tomcat服务

# cd/usr/local/tomcat6/bin

#./shutdown.sh//停止tomcat

#./start.sh//启动tomcat

查看tomcat的进程:

# ps-e| grep java

出现了java这个进程的话,说明你的tomcat起来了。

b.开启apache服务

# cd/usr/local/apache2/bin

#./apachectl configtest

//命令检查一下配置是否有误,显示Syntax OK,说明配置正确

#./apachectl stop//停止apache

#./apachectl start//启动apache

6.检验是否负载均衡集群系统成功

访问apache服务器的web服务

如果显示负载均衡有关信息则说明成功了。

接着可以访问即访问到了tomcat的test应用

7.具体的tomcat集群负载均衡优化请参考文档自行设置相关参数

具体的apache优化请参考文档自行设置相关参数

阅读剩余
THE END