Apache+Tomcat+Memcached的集群搭建与基本配置
2015-11-27 18:20
786 查看
【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
2】安装功能软件包(ajp1.3)
< a > 解压
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
< c > 创建文件 /etc/httpd/conf/workers.properties
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
< d > 重启httpd服务
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
< c > 重载 /etc/bashrc 查看java软件版本
source /etc/bashrc
java -version
2】解压tomcat软件包 并启动
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
3】编辑默认首页 为测试准备
<a> 10.10.68.11
vim /usr/local/tomcat/webapps/ROOT/index.jsp
<html>
<body bgcolor="red">
<center>
<%= request.getSession().getId() %>
<h1>Tomcat 1(10.10.68.11)</h1>
</body>
</html>
<b> 10.10.68.22
<html>
<body bgcolor="blue">
<center>
<%= request.getSession().getId() %>
<h1>Tomcat 2(10.10.68.12)</h1>
</body>
</html>
<c> 测试 运行正常 可以实现负载均衡 但session 不同步
4】 为tomcat服务器安装session同步支持插件
<a> 安装jar包
cp /session/*.jar /usr/local/tomcat/lib
jar包名称:
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
<b> 编辑 /usr/local/tomcat/conf/context.xml (在<Context></Context>内)
<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"
/>
若只有一台
memcachedNodes="n1:10.10.68.21:11211"
<c> 重启tomcat服务器
/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
2】安装服务器软件包memcached
tar xf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure
make
make install
3】 启动 memcache 服务
/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;
}
}
2】 重启nginx服务 测试成功。
【7】 总结
1】 实际工作境中可用 NFS 解决 tomcat 服务器的网页一致性问题
2】可以搭建一台专门的日志服务器,记录日志
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
2】安装功能软件包(ajp1.3)
< a > 解压
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
< c > 创建文件 /etc/httpd/conf/workers.properties
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
< d > 重启httpd服务
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
< c > 重载 /etc/bashrc 查看java软件版本
source /etc/bashrc
java -version
2】解压tomcat软件包 并启动
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
3】编辑默认首页 为测试准备
<a> 10.10.68.11
vim /usr/local/tomcat/webapps/ROOT/index.jsp
<html>
<body bgcolor="red">
<center>
<%= request.getSession().getId() %>
<h1>Tomcat 1(10.10.68.11)</h1>
</body>
</html>
<b> 10.10.68.22
<html>
<body bgcolor="blue">
<center>
<%= request.getSession().getId() %>
<h1>Tomcat 2(10.10.68.12)</h1>
</body>
</html>
<c> 测试 运行正常 可以实现负载均衡 但session 不同步
4】 为tomcat服务器安装session同步支持插件
<a> 安装jar包
cp /session/*.jar /usr/local/tomcat/lib
jar包名称:
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
<b> 编辑 /usr/local/tomcat/conf/context.xml (在<Context></Context>内)
<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"
/>
若只有一台
memcachedNodes="n1:10.10.68.21:11211"
<c> 重启tomcat服务器
/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
2】安装服务器软件包memcached
tar xf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure
make
make install
3】 启动 memcache 服务
/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;
}
}
2】 重启nginx服务 测试成功。
【7】 总结
1】 实际工作境中可用 NFS 解决 tomcat 服务器的网页一致性问题
2】可以搭建一台专门的日志服务器,记录日志
相关文章推荐
- tomcat使用memcached完成集群
- 使用Memcached提高.NET应用程序的性能
- ibatis结合memcache实现多tomcat共享缓存
- Linux学习 - Ubuntu配置Memcache服务
- 在Windows平台下安装与配置Memcached
- Memcache 查看列出所有key方法
- Nginx+Tomcat+Memcached集群
- Centos6.5下安装Memcached
- ngnix tomcat7 memcache集群session配置系列---环境配置
- ngnix tomcat7 memcache集群session配置系列---环境准备
- redis memcache 性能比较
- memcache 集群配置(通过magent)
- memcached和Redis比较 不同点
- Linux 下memcached的安装
- Memcached安装配置
- memcached 在windows中的部署和使用
- memcached简单分析
- win7 64位系统 memcache/memcached安装
- memcache查看数据命令
- windows下启动memcached 失败的解决办法