一.节点信息
192.168.1.133
nginx
192.168.211.133
|
----------------------------------
| |
tomcatA (211.40) tomcatB(211.132)
memcacheA(211.136) memcachB(211.137)
配置好固定IP
关闭selinux
关闭iptables,开机不启动
二.原理
通过nginx代理访问后端tomcat,并实现memcache的会话绑定,同一个浏览器访问的session是一样的.
三.部署
tomcat服务的安装
a.安装开发环境 jdk-6u27-linux-i586.bin(32位)
安装包下载:http://pan.baidu.com/s/1skqesVF nm9q
chmod +x jdk-6u27-linux-i586.bin
./jdk-6u27-linux-i586.bin
For more information on what data Registration collects and
how it is managed and used, see:
http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html
Press Enter to continue.....
Done.
注意:出现上面的信息安装完成,安装jdk经常报很多错误
eq: /lib/ld-linux.so.2: bad ELF interpreter 说明 64位系统中安装了32位程序了
解决方法:yum -y install glibc.i686(建议用CentOS 自带的yum源,可以安装上)
mv jdk1.6.0_27 /etc/usr/local/jdk
定义tomcat服务运行时使用的变量
[root@localhost ~]# vi /etc/bashrc
export JRE_HOME=/usr/local/jdk
export JAVA_BIN=/usr/local/jdk/bin
export PATH=$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar
export JRE_HOME JAVA_BIN PATH CLASSPATH
:wq
[root@localhost ~]# source /etc/bashrc
b.安装tomat软件包 apache-tomcat-6.0.32.tar.gz
安装包下载:http://pan.baidu.com/s/1boizwy7 2gwu
tar -zxvf apache-tomcat-6.0.32.tar.gz
mv apache-tomcat-6.0.32 /usr/local/tomcat
netstat -unlatp |grep :8080
cd /usr/local/tomcat/bin
./startup.sh
netstat -unlatp |grep :8080
tcp 0 0 :::8080 :::* LISTEN 1879/java
测试:ip:8080是否出现测试页面
同理:第二台机器同上设置,注意IP
memcached服务的安装
a.安装开发工具
yum -y install gcc make gcc-c++
b.安装memcached软件
注意:安装memcached软件之前必须安装libevent-2.0.15-stable.tat.gz
安装包下载:libevent:http://pan.baidu.com/s/1o6TPQiA lwyu
memcached:http://pan.baidu.com/s/1i3LS6m5 8e52
tar -zxvf libevent-2.0.15-stable.tar.gz
cd libevent-2.0.15-stable
./configure && make && make install
tar -zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure && make && make install
vim /etc/ld.so.conf.d/libevent.conf
/usr/local/lib/
:wq
ldconfig -v
/usr/local/bin/memcached -u root -m 100M -n 10 -f 2 -d -vvv
选项:
-h 查看帮助信息
-p 指定memcached监听的端口号 默认11211
-l memcached服务器的ip地址
-u memcached程序运行时使用的用户身份 必须 是root用户
-m 指定使用本机的多少物理内存 存数据 默认64M
-c memcached服务的最大链接数
-vvv 显示详细信息
-n chunk size 的最小空间是多少 单位 字节
-f chunk size大小增长的倍数 默认 1.25倍
-d 在后台启动
netstat -utnlap | grep :11211
知识点:
kill -9 PID号 杀死memcached进程(进程号)
pkill -9 memcached 杀死memcached进程(进程名)
killall -9 memcached 杀死所有memcached 进程
测试memcached:
[root@localhost ~]# telnet localhost 11211
Trying 192.168.1.10...
Connected to 192.168.1.10 (192.168.1.10).
Escape character is '^]'.
set name 0 180 3 //0 固定格式 180 180秒 3 3个字节
jim
STORED
get name
VALUE name 0 3
jim
END
quit
Connection closed by foreign host.
同理:第二台机器同上配置,注意IP
tomcat与memcached连接工具memcached+session+manager
安装包下载:http://pan.baidu.com/s/1YYfiY u9dl
a.解压安装包
b.安装与配置
在两台tomcat服务器上安装与配置如下:
cd session
cp *.jar /usr/local/tomcat/lib/
cd /usr/local/tomcat/conf/ //配置tomcat配置文件,连接指定的memcached服务器
vi contest.conf //插入下面几行文字
<Context>
......
......
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.211.142:11211 n2:192.168.211.143:11211"
failoverNodes="n2"
requestUrilgnorePattern=".*\(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
</Context>
重新启动tomcat服务
nginx服务的安装
a.安装开发环境
yum -y install gcc make gcc-c++
yum -y install pcre pcre-devel openssl openssl-devel
b.安装nginx服务
安装包下载:http://pan.baidu.com/s/1c1nhg2G 5qpn
useradd nginx
tar -zxvf nginx-1.0.5.tar.gz
cd nginx-1.0.5
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module
make && make install
cd /usr/local/nginx/conf
修改配置文件(原始文件最好备份下)
http {
upstream tomcatgrp {
server 192.168.1.10:8080;
server 192.168.1.20:8080;
}
server {
...
...
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcatgrp;
}
......
......
}
}
:wq
测试配置文件是否正确 ./nginx -t
./nginx
测试
a.通过输入nginx网址,查看网页颜色是否变通,session是否不变
测试页下载:http://pan.baidu.com/s/1bjNxTG 9br2
测试也放到cd /usr/local/tomcat/webapps/ROOT/目录下,两台tomcat测试也要改,每个tomcat颜色不一样就可以
本文出自 “tidypet” 博客,转载请与作者联系!