【1】 基本介绍及架构
1】 apache服务器 作为分发器 (IP:10.10.68.1)
2】 tomcat服务器 提供web服务 (IP:10.10.68.11 10.10.68.12)
3】 memcached服务器 保证session同步 (IP:10.10.68.21 10.10.68.22)
【2】 apache(10.10.68.1)的配置
1】安装软件包
yum install httpd httpd-devel gcc -y
tar zxvf tomcat-connectors-1.2.32-src.tar.gz -C /tmp cat /tmp/tomcat-connectors-1.2.32-src/BUILD.txt cd native ./configure --with-apxs=/usr/sbin/apxs make && make install cp ../conf/httpd-jk.conf /etc/httpd/conf.d/jk.conf
< b > 编辑配置文件 /etc/httpd/conf.d/jk.conf
在文件最后添加
JkMount /*.jsp wlb JkMount /manager/* wlb JkMount /*.gif wlb
worker.list=wlb worker.wlb.type=lb worker.wlb.balance_workers=tomcat1,tomcat2 worker.tomcat1.type=ajp13 worker.tomcat1.host=10.10.68.11 worker.tomcat1.port=8009 worker.tomcat1.lbfactor=2 #权重 调整负载 worker.tomcat2.type=ajp13 worker.tomcat2.host=10.10.68.12 worker.tomcat2.port=8009 worker.tomcat2.lbfactor=1
service httpd start
【3】tomcat服务器(IP:10.10.68.11 10.10.68.12)的安装与配置
1】安装jdk软件
< a > 解压包
chmod +x jdk-6u27-linux-i586.bin ./jdk-6u27-linux-i586.bin mv jdk1.6.0_27/ /usr/local/jdk
< b > 编辑 /etc/bashrc 文件 配置环境变量
export JAVA_HOME=/usr/local/jdk export JAVA_BIN=/usr/local/jdk/bin/ export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH
source /etc/bashrc java -version
tar zxf apache-tomcat-6.0.32.tar.gz mv apache-tomcat-6.0.32 /usr/local/tomcat cd /usr/local/tomcat/bin ./startup.sh
<html> <body bgcolor="red"> <center> <%= request.getSession().getId() %> <h1>Tomcat 1(10.10.68.11)</h1> </body> </html>
<html> <body bgcolor="blue"> <center> <%= request.getSession().getId() %> <h1>Tomcat 2(10.10.68.12)</h1> </body> </html>
4】 为tomcat服务器安装session同步支持插件
<a> 安装jar包
cp /session/*.jar /usr/local/tomcat/libjar包名称:
kryo-1.04.jar memcached-session-manager-1.5.1.jar kryo-serializers-0.9.jar memcached-session-manager-tc6-1.5.1.jar libevent-1.4.11-stable.tar.gz minlog-1.2.jar memcached-1.4.5.tar.gz msm-kryo-serializer-1.5.1.jar memcached-2.5.jar reflectasm-1.01.jar
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:10.10.68.21:11211" failoverNodes="n2:10.10.68.22:11211" #n2为备用 requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />
/usr/local/tomcat/bin/shutdown.sh /usr/local/tomcat/bin/startup.sh
【4】memcached服务器(IP:10.10.68.21 10.10.68.22)的安装与配置
1】 安装支持libevent
ar xf libevent-1.4.11-stable.tar.gz cd libevent-1.4.11-stable ./configure make make install
tar xf memcached-1.4.5.tar.gz cd memcached-1.4.5 ./configure make make install
/usr/local/bin/memcached -d -m 10 -u root -l 10.10.68.21 -p 11211 -c 256 -P /tmp/memcached.pid
参数: -d : 以服务的形式运行 -m : 所占内存大小 默认10M 实际工作中要大 -u : 以root身份运行 -l : 监听IP地址 -d : 监听端口 -c : 最大并发连接数 默认1024ge
【5】 配置完成 可以测试 同时解决session 同步问题
【6】 分发器换成nginx (IP:10.10.68.1)后的简单配置
1】编辑nginx 的配置文件
vim /usr/local/nginx/conf/nginx.conf
upstream jsp_server_pool{ server 10.10.68.11:8080; server 10.10.68.12:8080; } server { listen 80; access_log logs/jsp_server_pool.access.log main; location / { proxy_pass http://jsp_server_pool; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } }
【7】 总结
1】 实际工作境中可用 NFS 解决 tomcat 服务器的网页一致性问题
2】可以搭建一台专门的日志服务器,记录日志