linux下TOMCAT集群(proxy)安装文档
LINUX下使用apache+tomcat构建WEB集群系统

LINUX下使用apache+tomcat构建WEB集群系统2008-09-17 11:32一、集群的基本知识集群技术是目前非常流行的提高系统服务能力与高可靠性( HA- High Availability )的手段,通过把多个独立的服务器组成一个集群可以实现失效无缝转移。
也就是说当有某一台集群中的服务器当机后,其上的用户状态数据可以无缝迁移到集群中的其他服务器上。
这样,正在使用应用的客户可以完全感觉不到影响,大大提供了系统的可靠性。
集群有很多种类和层次,例如:操作系统集群(如 Linux 、 Solaris 等),数据库集群(如 DB2 、 Oracle 等),应用服务器集群(如 GlassFish 、 WebLogic 等) ,Web 集群(如 Tomcat 等)。
本教程将向读者介绍由 Tomcat 搭建的 Web 集群。
不管是由什么技术搭建的集群,其基本组成由下图所示:图 1-1从图中可以看出,每个集群都需要一个负载均衡器,其负责根据一定的算法将外界发送到集群的请求尽量均匀地分配到集群中的每个服务器,使得集群中所有服务器的负载尽量平衡。
对外界的客户端而言其并不知道具体访问了集群中的哪台服务器,多台服务器从逻辑上对外界而言可以看作一台"大"服务器。
这样,当集群的服务能力不能满足当前的需要时,可以非常方便地再向集群中添加新的服务器来满足需要。
可以看出,使用了集群之后,系统具有非常好的可扩展性。
当不幸集群中有某台服务器突然当机时,其用户状态数据可以迁移到其他服务器上,不影响在线用户的使用。
这样,通过使用集群技术可以方便地实现系统的高可靠性。
本教程中将介绍的使用 Tomcat 搭建的 Web 集群结构如图 1-2 所示:图 1-2从图中可以看出集群的负载均衡器由开源的 Apache 服务器担任,集群中的 Web 服务器由两个 Tomcat 服务器分别担任,后台的数据库服务器由一个 MySQL 服务器担任。
linux下Nginx+tomcat整合的安装与配置

目的:搭建Nginx与tomcat整合,用Nginx代替apache步骤:一、安装Nginx1、上传nginx-0.7.63.tar.gz至/usr/local2、执行如下命令解压nginx:1.#cd /usr/local2.#tar zxvf nginx-0.7.63.tar.gz3、编译安装nginx1.#cd nginx-0.7.632.#./configure --with-http_stub_status_module --with-http_ssl_module #启动server状态页和https模块执行完后会提示一个错误,说缺少PCRE library 这个是HTTP Rewrite 模块,也即是url静态化的包可上传pcre-7.9.tar.gz,输入如下命令安装:1.#tar zxvf pcre-7.9.tar.gz2.#cd pcre-7.93.#./configure4.#make5.#make install安装pcre成功后,继续安装nginx如果是ubuntu 或Debian系统请先安装# apt-get install libpcre3 libpcre3-dev原文:I need to compile few application and I need Perl 5 Compatible Regular Expression Library (PCRE). Under CentOS I can use a package called pcre-devel, but Debian do not have the same. How do I install pcre-devel under Debian / Ubuntu Linux?Perl-compatible regular expression library. PCRE has its own native API, but a set of "wrapper"functions that are based on the POSIX API are also supplied in the library libpcreposix. Note that this just provides a POSIX calling interface to PCRE: the regular expressions themselves still follow Perl syntax and semantics. The header file for the POSIX-style functions is called pcreposix.h. To install PCRE, type thy following command:# apt-get update# apt-get install libpcre3 libpcre3-dev1.#cd nginx-0.7.632.#./configure3.#make4.#make install4、nginx安装成功后的安装目录为/usr/local/nginx在conf文件夹中新建proxy.conf,用于配置一些代理参数,内容如下:01.#!nginx (-)02.# proxy.conf03.proxy_redirect off;04.proxy_set_header Host $host;05.proxy_set_header X-Real-IP $remote_addr; #获取真实ip06.#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取代理者的真实ip07.client_max_body_size 10m;08.client_body_buffer_size 128k;09.proxy_connect_timeout 90;10.proxy_send_timeout 90;11.proxy_read_timeout 90;12.proxy_buffer_size 4k;13.proxy_buffers 4 32k;14.proxy_busy_buffers_size 64k;15.proxy_temp_file_write_size 64k;编辑安装目录下conf文件夹中的nginx.conf,输入如下内容001.#运行nginx所在的用户名和用户组002.#user www www;003.004.#启动进程数005.worker_processes 8;006.#全局错误日志及PID文件007.error_log /usr/local/nginx/logs/nginx_error.log crit;008.009.pid /usr/local/nginx/nginx.pid;010.011.#Specifies the value for maximum file descriptors that can be opened by this process. 012.013.worker_rlimit_nofile 65535;014.#工作模式及连接数上限015.events016.{017. use epoll;018. worker_connections 65535;019.}020.#设定http服务器,利用它的反向代理功能提供负载均衡支持021.http022.{023. #设定mime类型024. include mime.types;025. default_type application/octet-stream;026. include /usr/local/nginx/conf/proxy.conf;027. #charset gb2312;028. #设定请求缓冲029. server_names_hash_bucket_size 128;030. client_header_buffer_size 32k;031. large_client_header_buffers 4 32k;032. client_max_body_size 8m;033.034. sendfile on;035. tcp_nopush on;036.037. keepalive_timeout 60;038.039. tcp_nodelay on;040.041.# fastcgi_connect_timeout 300;042.# fastcgi_send_timeout 300;043.# fastcgi_read_timeout 300;044.# fastcgi_buffer_size 64k;045.# fastcgi_buffers 4 64k;046.# fastcgi_busy_buffers_size 128k;047.# fastcgi_temp_file_write_size 128k;048.049.# gzip on;050.# gzip_min_length 1k;051.# gzip_buffers 4 16k;052.# gzip_http_version 1.0;053.# gzip_comp_level 2;054.# gzip_types text/plain application/x-javascript text/css application/xml;055.# gzip_vary on;056.057. #limit_zone crawler $binary_remote_addr 10m;058. ###禁止通过ip访问站点059. server{060. server_name _;061. return 404;062. }063.064.065. server066. {067. listen 80;068. server_name localhost;069. index index.html index.htm index.jsp;#设定访问的默认首页地址070. root /home/www/web/ROOT;#设定网站的资源存放路径071.072. #limit_conn crawler 20;073.074. location ~ .*.jsp$ #所有jsp的页面均交由tomcat处理075. {076. index index.jsp;077. proxy_pass http://localhost:8080;#转向tomcat处理078. }079.080.081. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #设定访问静态文件直接读取不经过tomcat 082. {083. expires 30d;084. }085.086. location ~ .*\.(js|css)?$087. {088. expires 1h;089. }090.091.#定义访问日志的写入格式092. log_format access '$remote_addr - $remote_user [$time_local] "$request" '093. '$status $body_bytes_sent "$http_referer" '094. '"$http_user_agent" $http_x_forwarded_for';095. access_log /usr/local/nginx/logs/localhost.log access;#设定访问日志的存放路径096.097. }098.099.100.101.102.}5、修改/usr/local/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:1.#/usr/local/nginx/sbin/nginx -t如果屏幕显示以下两行信息,说明配置文件正确:1.the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok2.the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully如果提示unknown host,则可在服务器上执行:ping 如果也是同样提示unknown host则有两种可能:a、服务器没有设置DNS服务器地址,查看/etc/resolv.conf下是否设置,若无则加上b、防火墙拦截6、启动nginx的命令1.#/usr/local/nginx/sbin/nginx这时,输入以下命令查看Nginx主进程号:1.ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'7、停止nginx的命令1.#/usr/local/nginx/sbin/nginx -s stop8、在不停止Nginx服务的情况下平滑变更Nginx配置a、修改/usr/local/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:1./usr/local/nginx/sbin/nginx -t如果屏幕显示以下两行信息,说明配置文件正确:1.the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok2.the configuration file /usr/local/nginx/conf/nginx.conf was tested successfullyb、这时,输入以下命令查看Nginx主进程号:1.ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'屏幕显示的即为Nginx主进程号,例如:6302这时,执行以下命令即可使修改过的Nginx配置文件生效:1.kill -HUP 6302或者无需这么麻烦,找到Nginx的Pid文件:1.kill -HUP `cat /usr/local/nginx/nginx.pid`9、nginx启动好后启动tomcat,此时输入http://主机ip地址即可看到“My web!”三、其他stub_status语法: stub_status on默认值: None作用域: location创建一个location 区域启用stub_status"stub status" 模块返回的状态信息跟mathopd's 的状态信息很相似. 返回的状态信息如下:1.Active connections: 2912.server accepts handled requests3.16630948 16630948 310704654.Reading: 6 Writing: 179 Waiting: 106active connections -- 对后端发起的活动连接数server accepts handled requests -- nginx 总共处理了16630948 个连接, 成功创建16630948 次握手(证明中间没有失败的), 总共处理了31070465 个请求(平均每次握手处理了 1.8个数据请求)reading -- nginx 读取到客户端的Header信息数writing -- nginx 返回给客户端的Header信息数waiting -- 开启keep-alive 的情况下,这个值等于active - (reading + writing),意思就是Nginx 说已经处理完正在等候下一次请求指令的驻留连接。
Linux中tomcat配置,manager和jvm两种认证

Linux下配置tomcat,为manager设置用户和密码,设置jvm远程监控tomcat配置环境操作系统:CentOS5.3java版本:1.7.0(非安装包)jdk-7u5-linux-i586.tar.gztomcat版本:6.0.35(非安装包)1.配置java将java的压缩包上传到新建的一个文件中并解压,例如将jdk-7u5-linux-i586.tar.gz上传到test文件夹中,并使用tar -zxvf *.tar.gz进行解压,解压后的文件更名为java设置环境变量export JAVA_HOME=/test/javaexport JAVA_BIN=$JAVA_HOME/binexport PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar验证配置是否成功java -version查看java的版本,如果查询正确则配置成功查询java版本问题查询java版本时可能会提示出错:dl failure on line 685Error: failed /usr/local/jdk1.6.0_10/jre/lib/i386/client/libjvm.so,because /usr/local/jdk1.6.0_10/jre/lib/i386/client/libjvm.so: cannot restore segme nt prot after reloc: Permission denied则可以使用/usr/sbin/setenforce 0暂时关闭,参考文档:/1052869107_a/item/be0c486e2e808806a1cf0f982.配置tomcat将tomcat的压缩包apache-tomcat-6.0.35.tar.gz上传到test中并解压,tar -zxvf *.tar.gz ,更改解压后的文件夹名称为tomcat配置环境变量export JRE_HOME=$JAVA_HOME/jreexport TOMCAT_HOME=/test/tomcat启动tomcat使用./test/tomcat/bin/startup.sh 启动tomcat启动tomcat时可能提示startup.sh文件为不可执行文件,可以使用下面的命令将startup.sh catalina.sh setclasspath.sh都设置为可执行文件chmod u+x startup.sh catalina.sh setclasspath.sh验证配置启动是否成功在本地浏览器输入:http://127.0.0.1:8080,可以进入tomcat的页面远程访问验证过程中,可能在远程无法访问,但本地可以访问。
Redhat Enterprise Linux 5 安装JDK和配置tomcat

Redhat Enterprise Linux 5 安装JDK和配置tomcat一、JDK配置:1 . 下载jdk5.0 for linux到sun的主页/j2se/1.5.0/download.jsp下载jdk安装文件jdk-1_5_0_16-linux-i586.bin2 . 解压&安装jdk在shell终端下进入jdk-1_5_0_16-linux-i586.bin文件所在目录,执行命令 ./jdk-1_5_0_16-linux-i586.bin这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。
之后会在当前目录下生成一个jdk-1.5.0_16目录,可以将它复制到任何一个目录下。
3 . 配置环境变量两种配置方法:(1)修改/etc/profile文件-- 全部用户有效在profile 文件的尾部面加入JAVA_HOME=/usr/java/jdk1.5.0_16 -- jdk 的安装路径PATH=$JAV A_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/li b/tools.jarexport JAV A_HOMEexport PATHexport CLASSPATHexport CATALINA_HOME保存退出在shell输入source /etc/profile如果执行上面这个命令时报错,请仔细检查你在/etc/profile里新增的文本是不是有错。
检测完没有错误重新登录以后生效(2)修改.bashrc文件 --指定用户目录下的 .bashrc 文件·在.bashrc文件末尾加入:set JAV A_HOME=/usr/java/jdk1.5.0_16 --jdk 的安装路径export JAV A_HOMEset PATH=$JAVA_HOME/bin:$PATHexport PATHset CLASSPATH=.:$JAV A_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport CLASSPATH4.测试安装jdk 是否成功在shell输入java -version看输出结果与安装版本是否一致java version "1.5.0_16"Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)Java HotSpot(TM) Server VM (build 1.5.0_16-b02, mixed mode)如果不一致可能是因为本机已经装过java 虚拟机可以将其删除二、tomcat6安装:1 . 下载apache-tomcat-6.0.18.tar.gz 解压后将文件夹放在任何目录下修改D:¥apache-tomcat-6.0.16¥conf¥tomcat-users.xml 文件在中加入--根据自己情况设置登陆名字和密码修改端口:apache-tomcat-6.0.16¥conf¥server.xml 文件中Connector port="8080" protocol="HTTP/1.1" enableLookups="false"connectionTimeout="20000"redirectPort="8443" />将上面的8080端口改成与本机不冲突的端口2 . 配置环境变量修改/etc/profile文件在配置jdk后面加入CATALINA_HOME=/usr/tomcat6 --对应自己的安装路径export CATALINA_HOME保存退出在shell输入source /etc/profile如果执行上面这个命令时报错,请仔细检查你在/etc/profile里新增的文本是不是有错。
Linux下环境部署文档

Linux下环境部署文档1、使用root账户登录Linux环境,打开一个shell终端,如图:2、安装JDK、Mysql、Tomcat服务器,执行命令如下(每行命令输入后按回车键) //前提条件:已经将Linux下的安装套件拷贝到/Linux/setup目录[root@localhost /]# cd /usr//创建临时安装目录nationz[root@localhost usr]# mkdir nationz[root@localhost usr]# cd /Linux/setup[root@localhost setup]# cp apache-tomcat-5.5.31.tar.gz /usr/nationz/[root@localhost setup]# cp jdk-6u23-linux-i586.rpm /usr/nationz/[root@localhost setup]# cp MySQL-server-5.5.8-1.rhel5.i386.rpm /usr/nationz/ [root@localhost setup]# cp MySQL-client-5.5.8-1.rhel5.i386.rpm /usr/nationz/ [root@localhost setup]# cd /usr/nationz///开始安装jdk,此时的安装目录如下://执行命令如下:[root@localhost nationz]# rpm -ivh jdk-6u23-linux-i586.rpm//安装完JDK后,解压缩tomcat的.gz格式包,执行命令//输入java –version命令后,可以看到如下红色信息代表安装JDK成功//java version "1.6.0_23"//Java(TM) SE Runtime Environment (build 1.6.0_23-b05)//Java HotSpot(TM) Server VM (build 19.0-b09, mixed mode)//JDK默认安装目录为/usr/java/目录[root@localhost nationz]# gunzip apache-tomcat-5.5.31.tar.gz//执行命令后,此时的文件结构如下,可以看到原来的apache-tomcat-5.5.31.tar.gz已经被解//压成apache-tomcat-5.5.31.tar。
Linux平台Apache高可用双机集群Tomcat负载均衡集群配置手册

Linux平台Apache双机高可用集群+ Tomcat负载均衡集群配置手册在这个配置手册中,使用的操作系统和软件清单如下:操作系统:RedHat Enterprise Linux AS4 U4 64bit(安装时最好选择完全安装)软件:jdk-1_5_0_15-linux-amd64.binTomcat5.5.26httpd-2.0.63.tar.gzjakarta-tomcat-connectors-jk2-src-current.tar.gzipvsadm-1.24.tar.gzlibnet.tar.gzheartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm因为是linux操作系统,所以在安装软件时请使用对应自己操作系统内核的软件,这是整个集群成功的第一步。
本配置手册中的软件都是对应RedHat Enterprise Linux AS4 U4 64bit 这个版本的软件。
jdk-1_5_0_15-linux-amd64.binJAVA环境包使用的是64位1.5版Tomcat版本为公司指定的5.5版本Apache为2.0.63版jakarta-tomcat-connectors-jk2-src-current.tar.gz是连接Apache和Tomcat的连接插件,具体可以去Tomcat网站上查找下载ipvsadm-1.24.tar.gzlibnet.tar.gz这两个是用于2台Apache服务器虚拟一个IP地址使用heartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm这3个软件是用于2台Apache服务器之间的心跳检测结构图Apache1以以以以以Tomcat1Tomcat2Apache22台Tomcat服务器使用Tomcat软件可以自己做集群,2台Apache服务器需要其他的软件实现虚拟服务器功能,工作站访问虚拟IP地址访问2台Apache服务器,再通过Apache服务器访问Tomcat服务器第3 页总13 页1.安装JAVA环境包1)输入命令:./ jdk-1_5_0_15-linux-amd64.bin执行完毕后,会在当前目录下生成一个JDK-1.5.0_15的文件夹2)在 /usr/local/下新建一个名字为JAVA文件夹,将个JDK-1.5.0_15的文件夹拷入到该文件夹下3)设置环境变量。
Tomcat 部署项目的三种方法

Tomcat 部署项目的三种方法1、下载Tomcat 服务器官网下载地址:/回到顶部2、启动并部署Tomcat 服务器①、解压tomcat 安装包到一个非中文目录下②、配置环境变量。
JAVA_HOME(指向JDK 安装的根目录)③、双击apache-tomcat-6.0.16\bin 目录下的startup.bat,启动服务器(如果一闪而过,那就是没有配置JAVA_HOME 的环境变量)④、在浏览器中输入http://localhost:8080注意:Tomcat 启动不了的时候注意配置JAVA_HOME:C:\ProgramFiles\Java\jdk1.6.0_43这是安装JDK的根目录回到顶部3、Tomcat 的目录结构4、部署项目的第一种方法(项目直接放入webapps 目录中)1、将编写并编译好的web项目(注意要是编译好的,如果是eclipse,可以将项目打成war 包放入),放入到webapps 中2、启动tomcat服务器(双击apache-tomcat-6.0.16\bin 目录下的startup.bat,启动服务器)3、在浏览器输入:http://localhost:8080/项目名/访问的文件名5、部署项目的第二种方法(修改conf/server.xml 文件)①、打开tomcat下conf/server.xml,在1path:浏览器访问时的路径名docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。
其实也就是编译后的项目reloadble:设定项目有改动时,tomcat是否重新加载该项目②、双击startup.bat,启动tomcat 服务器,然后在浏览器输入访问的项目名称路径注意:如果你配置的path="/xx",那么访问的时候就是这样:6、部署项目的第三种方法(apache-tomcat-7.0.52\conf\Catalina\localhost )①、进入到apache-tomcat-7.0.52\conf\Catalina\localhost 目录,新建一个项目名.xml 文件②、在那个新建的xml 文件中,增加下面配置语句(和上面的是一样的,但是不需要path 配置,加上也没什么用)1③、在浏览器输入路径:localhost:8080/xml文件名/访问的文件名总结:①、第一种方法比较普通,但是我们需要将编译好的项目重新copy 到webapps 目录下,多出了两步操作②、第二种方法直接在server.xml 文件中配置,但是从tomcat5.0版本开始后,server.xml 文件作为tomcat 启动的主要配置文件,一旦tomcat 启动后,便不会再读取这个文件,因此无法再tomcat 服务启动后发布web 项目③、第三种方法是最好的,每个项目分开配置,tomcat 将以\conf\Catalina\localhost 目录下的xml 文件的文件名作为web 应用的上下文路径,而不再理会中配置的path 路径,因此在配置的时候,可以不写path。
linux_32位安装JDK1.6以及tomcat-5.5

安装1.6JDK1.下载jdk-6u20-linux-i586.bin成功后上传至服务器任意目录2. 在当前目录输入chmod 755 jdk-6u20-linux-i586-rpm.bin3.看到安装程序在询问您是否尊守许可协议页面,回车,空格都可以,看完协议出现一行字:Do you aggree to the above license terms? [yes or no]安装程序在问您是否愿意遵守刚才看过的许可协议。
当然要同意了,输入"y" 或"yes" 回车。
4.在命令行输入:vi /etc/profile在里面添加如下内容export JA V A_HOME=/usr/local/java/jdk1.6.0_20export JA V A_BIN=/usr/local/java/jdk1.6.0_20/binexport PATH=$PATH:$JA V A_HOME/binexport CLASSPA TH=.:$JA V A_HOME/lib/dt.jar:$JA V A_HOME/lib/tools.jarexport JA V A_HOME JA V A_BIN PATH CLASSPA TH5.进入/usr/bin/目录cd /usr/binln -s -f /usr/java/jdk1.6.0_20/jre/bin/javaln -s -f /usr/java/jdk1.6.0_20/bin/javac6. 在命令行输入java -version屏幕输出:java version "jdk1.6.0_20"Java(TM) 2 Runtime Environment, Standard Edition (build jdk1.6.0_20)Java HotSpot(TM) Client VM (build jdk1.6.0_20, mixed mode)7. 安装JDK1.6完毕.安装tomcat1. 下载apache-tomcat-5.5.30.tar.gz2. 使用FileZilla Client将此文件上传至/tools目录3. 解压gz文件# tar -zxvf /tools/apache-tomcat-5.5.30.tar.gz5. 将Apache移动到跟目录下# mv /tools/apache-tomcat-5.5.30 /6. 进入apache/bin目录下# cd /apache-tomcat-5.5.30/bin7. 开启与关闭服务# ./startup.sh //启动tomcat显示Using CATALINA_BASE: /usr/local/tomcatUsing CA TALINA_HOME: /usr/local/tomcatUsing CA TALINA_TEMDIR: /usr/local/tomcat/tempUsing JA V A_HOME: /usr/java/jdk1.6.0_20到此tomcat已经安装完成,现在使用浏览器访问http://localhost:8080,出现tomcat默认页面,说明已经安装成功。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux下TOMCAT集群安装文档1版本Apache:httpd-2.2.21Tomcat:apache-tomcat-6.0.182集群方式使用Apache R-proxy方式3 TOMCAT安装上传apache-tomcat-6.0.18到服务器Cd apache-tomcat-6.0.18mkdir logschmod 755 logscd binchmod 755 *.sh启动:./startup.sh关闭:./shutdown.sh4 apache安装(源码安装方式)cd /usr/local/mkdir apache2.2.21上传httpd-2.2.21.tar.gz到服务器路径下tar -zxvf httpd-2.2.21.tar.gz./configure --prefix=/usr/local/apache2.2.21 --enable-mods-shared=mostMake(编译)make install(安装)5配置httpd.conf(假设需要更改监听的端口) 以下是列出两个需要修改的地方:ServerName 127.0.0.1:9008Listen 90086启动cd apache2.2.21/bin/./apachectl start在浏览器中输入http://127.0.0.1/ 就可以看到 It works!7安装mod_proxy.so和mod_proxy_ajp.so,mod_proxy_balancer .so模块Cd /usr/local/apache2.2.21/httpd-2.2.21/modules/proxy/usr/local/apache2.2.21/bin/apxs -i -a -c mod_proxy.c proxy_util.c/usr/local/apache2.2.21/bin/apxs -i -a -c mod_proxy_ajp.c ajp*.c/usr/local/apache2.2.21/bin/apxs -i -a -c mod_proxy_balancer.c安装成功后,可以到/usr/local/apache2.2.21/conf 查看文件httpd.conf是否安装成功LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.so8配置httpd.conf集群#snail add 20111027 proxy配置信息#禁止转发该路径的请求ProxyPass /images !ProxyPass /css !ProxyPass /js !ProxyRequests OffProxyPass /esd balancer://cluster/ stickysession=JSESSIONIDProxyPassReverse /esd balancer://cluster/ stickysession=JSESSIONID<Proxy balancer://cluster>BalancerMember ajp://191.168.11.205:8009/esd/ route=tomcat1 loadfactor=1 </Proxy>#mod_balancer管理应用SetHandler balancer-manager9配置tomcat(server.xml)集群<Connector port="9002" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8445" URIEncoding="GBK"/><!-- Define an AJP 1.3 Connector on port 8009 --><Connector port="8009" protocol="AJP/1.3" redirectPort="8445" /><Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"><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"> <MembershipclassName="org.apache.catalina.tribes.membership.McastService"address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/><ReceiverclassName="org.apache.catalina.tribes.transport.nio.NioReceiver"address="191.168.11.205"port="4000"autoBind="100"selectorTimeout="5000"maxThreads="6"/><SenderclassName="org.apache.catalina.tribes.transport.ReplicationTransmitter"><TransportclassName="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><InterceptorclassName="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <InterceptorclassName="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Inter ceptor"/></Channel><Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/><ValveclassName="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"/><ClusterListenerclassName="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/><ClusterListenerclassName="org.apache.catalina.ha.session.ClusterSessionListener"/></Cluster>10配置工程web.xml加上红色部分,以支持seesion复制在<webapp>....................<distributable/></webapp>11查看负载均衡http://191.168.11.205:9008/balancer-manager12工程路径http://191.168.11.205:9008/esd/module/esd_index.jsp?????实现集群的应用最重要的是处理用户Session的问题,一般有三种策略:1,Session复制2,Session Sticky3,基于Cache的集中式Sessionsession复制是指tomcat彼此之间通过组播方式将session发到各个tomcat实例上,如果其中一个访问出错,则另外tomcat仍然具有有效的session内容,从而能正常接管其session。
坏处是当tomcat实例很多,或者用户在session中有大量操作时,组播发送的信息量十分惊人。
session复制配置则是在发布的web应用程序中的web.xml中添加Xml代码1.<distributable/>此外,session复制所需的JDK必须是JDK 5.0及其以上版本。