Windows使用Nginx+tomcat+redis實(shí)現(xiàn)web項(xiàng)目集群
文章詳解如何配置Nginx、Tomcat與Redis實(shí)現(xiàn)集群環(huán)境下的Session共享及負(fù)載均衡,包括軟件下載、端口修改、反向代理配置及測(cè)試步驟,適用于高并發(fā)場(chǎng)景下的分布式部署。
一、準(zhǔn)備工具和軟件:
1、nginx
nginx是一個(gè)高性能的 HTTP 和 反向代理 服務(wù)器, 它最大的特點(diǎn)是對(duì)高并發(fā)的支持和高效的負(fù)載均衡,這里用到的版本是nginx-1.7.4
請(qǐng)根據(jù)實(shí)際需要選擇下載相應(yīng)的版本。
2、tomcat
它是一款免費(fèi)的Web應(yīng)用服務(wù)器,這里用到的版本是tomcat7.0
3、redis
Redis 是一個(gè)高性能的key-value數(shù)據(jù)庫,對(duì)關(guān)系數(shù)據(jù)庫起到很好的補(bǔ)充作用,它將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,保證了讀取效率,同時(shí)它還支持主從同步。
4、下載地址
Nginx,tomcat,redis下載地址:
1, http://redis.io/download
2, http://tomcat.apache.org
3, http://nginx.org/en/download.html
*注意:這里下載的都是免安裝版,即解壓后可以直接使用的。
二、需要用到的jar包
commons-pool-1.5.4,tomcat-redis-session-manager-1.2,jedis-2.1.0
請(qǐng)將下好的這三個(gè)包拷貝到tomcat的lib目錄下,由于配置集群要用到多個(gè)tomcat,所以每個(gè)tomcat的lib目錄下都要有這些包。
三、配置步驟
1、解壓下載文件
解壓nginx-1.674.zip到E:\nginx-1.7.4\ nginx-1.7.4目錄下
解壓apache-tomcat-7.0.6到 E:\apache-tomcat-7.0.6目錄下
以上目錄是我解壓的目錄,具體放到哪個(gè)目錄,根據(jù)實(shí)際情況修改。
2、配置tomcat
1,由于是搭建集群環(huán)境,所以要用到多個(gè)tomcat,這里我將解壓好的tomcat拷貝一份,重命名為apache-tomcat-7.0.7:(如果用到三個(gè)或三個(gè)以上tomcat,依次同理)
2,打開apache-tomcat-7.0.7下conf
3,為了不與原先tomcat的端口重復(fù),修改server.xml文件
修改原本的8005端口,這里我改為8015,請(qǐng)根據(jù)自己需要自行修改為沒被占用的端口
修改原本的8080端口改為8081,請(qǐng)根據(jù)自己需要自行修改為沒被占用的端口
修改原本的8009端口改為8019,請(qǐng)根據(jù)自己需要自行修改為沒被占用的端口
3,配置redis的session共享,同時(shí)修改E:\apache-tomcat-7.0.6\conf\context.xml、E:\apache-tomcat-7.0.7\conf\context.xml文件,在context節(jié)點(diǎn)中增加紅圈中的部分。
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="192.168.23.14"
port="6379"
password="ylwl"
database="3"
maxInactiveInterval="60" />
配置中各個(gè)字段含義:
host:redis服務(wù)器ip地址
port:redis端口
password:redis數(shù)據(jù)庫安全密碼,若沒設(shè)置密碼,該字段可以去掉(網(wǎng)上大部分配置教程都不加該字段,但我在本地測(cè)試是會(huì)報(bào)連接被拒絕,經(jīng)驗(yàn)證加入該字段后則可以連接)
database:數(shù)據(jù)庫名,默認(rèn)為0,請(qǐng)根據(jù)實(shí)際需要修改
maxInactiveInterval:session最大不活動(dòng)時(shí)間,單位秒
3、配置nginx
找到 E:\nginx-1.7.4\ nginx-1.7.4\conf\nginx.conf 配置文件
1,在 #gzip on; 這一行后面增加以下配置:
upstream yycpsfora {
server localhost:8080;
server localhost:8081;
}
*注意:這里的server指的是你配置的tomcat服務(wù)器的ip地址和端口,localhost表示我在本地配置了兩個(gè)tomcat,它們的端口分別是8080和8081,你可以根據(jù)實(shí)際需要添加更多的tomcat配置
2,修改server 的端口和服務(wù)名如下:
3,在location /大括號(hào)中增加如下配置:
location / {
root html;
index index.html index.htm index.jsp;
add_header Cache-Control 'no-store';
client_max_body_size 100m;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_cache Z;
proxy_cache_valid 200 1m;
proxy_pass http://yycpsfora;
}
*特別注意:proxy_pass的值http://yycpsfora中的yycpsfora要與步驟1中的yycpsfora一樣
四、集群測(cè)試
1, 分別啟動(dòng)兩個(gè)tomcat實(shí)例,然后啟動(dòng)nginx,然后在瀏覽器中輸入:http://localhost:800 將會(huì)出現(xiàn)以下結(jié)果,說明配置成功了:
2,訪問http://localhost:800/yycpsfora/,開始測(cè)試
五、備注(開發(fā)人員注意)
注意:
1、本文中的yycpsfora為項(xiàng)目名。
2、若要配置session共享,需要對(duì)項(xiàng)目中的實(shí)體類進(jìn)行序列化,如此才能在網(wǎng)絡(luò)中傳輸,即實(shí)體類需要implements java.io.Serializable,否則在訪問項(xiàng)目時(shí)會(huì)報(bào)錯(cuò)
六、總結(jié)
到此這篇關(guān)于Windows使用Nginx+tomcat+redis實(shí)現(xiàn)web項(xiàng)目集群的文章就介紹到這了,更多相關(guān)Windows使用Nginx+tomcat+redis實(shí)現(xiàn)web集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
windows server 2019 服務(wù)器配置的方法步驟圖文詳解
這篇文章主要介紹了windows server 2019 服務(wù)器的一些實(shí)用的配置方法,需要的朋友可以參考下2024-03-03將本地文件通過遠(yuǎn)程桌面連接直接復(fù)制或粘貼到遠(yuǎn)程主機(jī)的具體方法
在本地電腦上的文件右鍵點(diǎn)擊復(fù)制,在遠(yuǎn)程電腦上的文件夾里面右鍵再點(diǎn)擊,根本就沒有粘貼這個(gè)選項(xiàng),感興趣的朋友可以看下解決方法哈2013-04-04Jira7.10.1在Windows環(huán)境下的安裝和配置教程圖解
JIRA中配置靈活、功能全面、部署簡(jiǎn)單、擴(kuò)展豐富。這篇文章主要介紹了Jira7.10.1在Windows環(huán)境下的安裝和配置教程圖解,需要的朋友可以參考下2018-06-06遠(yuǎn)程桌面一連就斷的解決方法(經(jīng)常掉線)
遠(yuǎn)程桌面一連就斷..到網(wǎng)上轉(zhuǎn)了一大個(gè)圈回來終于找到解決方法.2011-11-11Windows server 2016服務(wù)器基本設(shè)置
indows server 2016相比較而言具有更加穩(wěn)定的特性,但不免有些繁瑣,可以通過一些設(shè)置可以使其更加易用,這里就為大家分享一下2022-08-08IIS報(bào)在服務(wù)器上找不到腳本語言''VBScript.encode''錯(cuò)誤解決方法
這篇文章主要介紹了IIS報(bào)在服務(wù)器上找不到腳本語言'VBScript.encode'錯(cuò)誤解決方法,其實(shí)這是一種服務(wù)器安全設(shè)置,一般虛擬主機(jī)都會(huì)禁用,需要的朋友可以參考下2014-07-07Windows?Server?2022?超融合部署(圖文教程)
本文主要介紹了Windows?Server?2022?超融合部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06