CentOS6.5下Tomcat7 Nginx Redis配置实例分析

所有配置均在一台机器上完成,部署拓扑信息如下:

注意:由于redis配置对jar包和tomcat版本比较严格,请务必使用tomcat7和本文中提供的jar包。

下载地址:

http://pan.baidu.com/s/1bo67ky

tomcat: tomcat1 localhost:8080

tomcat2 localhost:9080

nginx: localhost:1210

redis: localhost:6379

1. tomcat的安装和配置

1. 在server.xml文件中,修改tomcat2的端口,总共需要修改3处,分别是8080、8005和8009,分别修改为9080、9005和9008。

配置完此步,在浏览器中输入http://localhost:8080 和 http://localhost:9080便可看到tomcat的首页了。

2. nginx配置,实现负载均衡。

2.1 安装pcre。因为nginx的rewrite模块需要pcre支持,所以需要安装pcre库。

2.1.1. 获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本

2.1.2. 解压缩pcre-xx.tar.gz包。

2.1.3. 进入解压缩目录,执行./configure。

2.1.4. make

2.1.5. make install

2.2 安装nginx。由于yum源中没有我们想要的nginx,因此需要创建一个yum源。步骤如下:

2.2.1. vim /etc/yum.repos.d/nginx.repo

输入以下内容,然后保存退出。

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

2.2.2. 查询一下yum源是否配置好,执行以下命令,若有结果,说明配置成功。

yum list |grep nginx

2.2.3. 安装nginx。

yum -y install nginx

2.2.4. 配置nginx。实现负载均衡。主要是配置nginx.conf文件,利用 rpm -qc nginx命令查询该配置文件的位置。

CentOS6.5下Tomcat7 Nginx Redis配置实例分析

2.2.5 检查配置文件是否正确,并重启nginx。

nginx -t
service nginx restart 此处也可用如下命令: nginx -s reload

2.3 验证负载均衡配置

2.3.1 分别修改tomcat1和tomcat2首页文件,获取登录的session id值,添加下图中红框的h1标签

CentOS6.5下Tomcat7 Nginx Redis配置实例分析

2.3.2 在浏览器输入: localhost:1210,检查是否配置成功。可以看到,已经跳转到tomcat页面了,配置成功。

CentOS6.5下Tomcat7 Nginx Redis配置实例分析

3. redis配置,tomcat共享session。

3.1 下载并安装redis3

3.1.1 进入redis官网下载redis3,步骤略。

3.1.2 解压文件

tar -xvf redis-3.0.2.tar.gz

3.1.3 编译安装。

cd redis-3.0.2
make
make install
./utils/install_server.sh # 配置redis随机启动

3.1.4 redis的启动和关闭。

service redis_6379 start #6379为redis默认端口号,根据需求修改后,服务名会变

service redis_6379 stop

service redis_6379 restart

3.2 配置tomcat共享基于redis的session机制。

3.2.1 将以下3个jar包分别复制到tomcat的lib目录下:

commons-pool-1.3.jar jedis-2.0.0.jar tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar

3.22 修改tomcat的conf目录下的context.xml文件,在节点中添加如下内容:

<valve classname="com.radiadesign.catalina.session.redissessionhandlervalve" /> 
<manager classname="com.radiadesign.catalina.session.redissessionmanager" 
host="localhost" 
port="6379" 
database="0" 
maxinactiveinterval="60" />

3.3 重启tomcat,在浏览器输入localhost:1210,发现tomcat1和tomcat2的session已经共享了。

CentOS6.5下Tomcat7 Nginx Redis配置实例分析CentOS6.5下Tomcat7 Nginx Redis配置实例分析

以上就是CentOS6.5下Tomcat7 Nginx Redis配置实例分析的详细内容,更多请关注其它相关文章!