Windows環境下,Nginx+tomcat+redis實現web項目集羣

,準備工具和軟件:

1nginx

 nginx是一個高性能的 HTTP 和 反向代理 服務器, 最大的特點是對高併發的支持和高效的負載均衡,這裏用到的版本是nginx-1.7.4

請根據實際需要選擇下載相應的版本。

2tomcat

它是一款免費的Web應用服務器,這裏用到的版本是tomcat7.0

 

3redis 

Redis 是一個高性能的key-value數據庫對關係數據庫起到很好的補充作用,它將數據存儲在內存中,保證了讀取效率,同時它還支持主從同步。

 

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

請將下好的這三個包拷貝到tomcatlib目錄下,由於配置集羣要用到多個tomcat,所以每個tomcatlib目錄下都要有這些包。

 

三,配置步驟

 

1,解壓下載文件

解壓nginx-1.674.zipE:\nginx-1.7.4\ nginx-1.7.4目錄下


解壓apache-tomcat-7.0.6到 E:\apache-tomcat-7.0.6目錄下


以上目錄是我解壓的目錄,具體放到哪個目錄,根據實際情況修改。

2,配置tomcat

1,由於是搭建集羣環境,所以要用到多個tomcat,這裏我將解壓好的tomcat拷貝一份,重命名爲apache-tomcat-7.0.7:(如果用到三個或三個以上tomcat,依次同理)

 

2,打開apache-tomcat-7.0.7conf


3,爲了不與原先tomcat的端口重複,修改server.xml文件

 

修改原本的8005端口,這裏我改爲8015,請根據自己需要自行修改爲沒被佔用的端口


修改原本的8080端口改爲8081,請根據自己需要自行修改爲沒被佔用的端口

 

修改原本的8009端口改爲8019,請根據自己需要自行修改爲沒被佔用的端口


3,配置redissession共享,同時修改E:\apache-tomcat-7.0.6\conf\context.xmlE:\apache-tomcat-7.0.7\conf\context.xml文件,在context節點中增加紅圈中的部分。

 

<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" />

配置中各個字段含義:

host:redis服務器ip地址

port:redis端口

password:redis數據庫安全密碼,若沒設置密碼,該字段可以去掉(網上大部分配置教程都不加該字段,但我在本地測試是會報連接被拒絕,經驗證加入該字段後則可以連接)

database:數據庫名,默認爲0,請根據實際需要修改

maxInactiveInterval:session最大不活動時間,單位秒

 

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服務器的ip地址和端口,localhost表示我在本地配置了兩個tomcat,它們的端口分別是80808081,你可以根據實際需要添加更多的tomcat配置

2,修改server 的端口和服務名如下:

 

3,在location /大括號中增加如下配置:

 

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一樣

 

四,集羣測試

1, 分別啓動兩個tomcat實例,然後啓動nginx,然後在瀏覽器中輸入:http://localhost:800 將會出現以下結果,說明配置成功了:

 

2,訪問http://localhost:800/yycpsfora/,開始測試

 

五,備註(開發人員注意)

 

若要配置session共享,需要對項目中的實體類進行序列化,如此才能在網絡中傳輸,即實體類需要implements java.io.Serializable,否則在訪問項目時會報錯

以上yycpsfora爲項目名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章