所有配置均在一台機器上完成,部署拓撲信息如下:
注意:由於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命令查詢該配置文件的位置。
2.2.5 檢查配置文件是否正確,並重啟nginx。
nginx -t
service nginx restart 此處也可用如下命令: nginx -s reload
2.3 驗證負載均衡配置
2.3.1 分別修改tomcat1和tomcat2首頁文件,獲取登錄的session id值,添加下圖中紅框的H1標簽
2.3.2 在浏覽器輸入: localhost:1210,檢查是否配置成功。可以看到,已經跳轉到tomcat頁面了,配置成功。
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文件,在<Context>節點中添加如下內容:
<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已經共享了。