天天看點

Nginx在Windows平台的配置:

Nginx在Windows平台的配置:

Nginx的概述:

什麼是Nginx:

Nginx在Windows平台的配置:

使用Nginx完成負載均衡:

完成Nginx負載均衡,那麼需要先來介紹Tomcat的安裝和配置,我們首先要來配置Tomcat完成叢集的配置.因為我們沒有多台伺服器運作Tomcat.那麼我們可以模拟在一台伺服器上運作多個Tomcat程式.

使用Tomcat配置Tomcat叢集:

步驟一:下載下傳Tomcat:http://tomcat.apache.org/download-70.cgi

Nginx在Windows平台的配置:

步驟二:安裝和配置Tomcat:直接将下載下傳後的Tomcat解壓在本地磁盤:解壓兩個分别命名為tomcat1和tomcat2.配置tomcat環境變量:

Nginx在Windows平台的配置:

分别完成如下配置:(需要将tomcat帶有端口号的地方改成不同的端口即可.)分别打開兩個tomcat的conf下的server.xml

Nginx在Windows平台的配置:

Nginx的安裝和部署:Nginx的安裝:

将nginx-1.8.0.zip解壓包某個盤符下運作:目錄結構如下:

Nginx在Windows平台的配置:

輕按兩下nginx.exe即可運作:打開浏覽器http://localhost:80顯示如下頁面:

Nginx在Windows平台的配置:

說明安裝成功!!!關閉nginx需要使用:相當于找到nginx程序kill nginx -s stop.重新加載配置檔案:nginx -sreload可以不關閉nginx的情況下更新配置檔案.

Nginx的負載均衡的配置:

打開C:\nginx-1.8.0\conf\nginx.conf這個檔案:

Nginx在Windows平台的配置:

Weight可以修該伺服器的權重

Server 127.0.0.1:8080 weight=10;

Server 127.0.0.1:8081 weight=5;

修改:C:\Windows\System32\drivers\etc\hosts檔案:

***** 通過以上的配置我們已經可以通過通路www.taoge.com通路到不同的tomcat來分擔伺服器端的壓力.請求負載過程中會話資訊不能丢失.那麼需要在多個tomcat中session需要共享.

* 配置Tomcat的session共享可以有三種解決方案:第一種是以負載均衡伺服器本身提供的session共享政策,每種服務期的配置是不一樣的并且nginx本身是沒有的。第二種是利用web容器本身的session共享政策來配置共享。針對于weblogic這種方式還是靠普的。但是針對于tomcat這種方式存在很大的缺陷,主要因為是依靠廣播方式來實作的session複制,會浪費很多帶寬導緻整個網絡反映緩慢。官網也建議這種方式最好不要超過4台tomcat,具體的内容可參考/webapps/docs/cluster-howto.html裡面有詳細的說明。下面是具體的配置過程第三種是Tomcat叢集+redis的Session共享配置方法.

在這裡我們以第二種方式為例:

配置Tomcat中session的共享:

步驟一:修改server.xml檔案,最簡單的叢集配置隻需要将節點中注釋掉的下面這句取消注釋即可:

Xml代碼:

<ClusterclassName="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

使用這樣方法配置的叢集會将Session同步到所在網段上的所有配置了叢集屬性的執行個體上(此處講所在網段可能不準确,是使用Membership 的address和port來區分的。tomcat叢集的執行個體如果在Membership配置中有相同的address和port值的tomcat被分到同一個叢集裡邊。他們的session是互相共享的,同一個session的叢集被稱為一個cluster。可以配置多個cluster,但是cluster和cluster之間的session是不共享的)。也就是說如果該廣播位址下的所有Tomcat執行個體都會共享Session,那麼假如有幾個互不相關的叢集,就可能造成Session複制浪費,是以為了避免浪費就需要對節點多做點設定了,如下:

Xml代碼

<ClusterclassName="org.apache.catalina.ha.tcp.SimpleTcpCluster">   
       <ChannelclassName="org.apache.catalina.tribes.group.GroupChannel">   
            <Membership className="org.apache.catalina.tribes.membership.McastService"   
               address="228.0.0.4"   
                port="45564"   
                frequency="500"   
               dropTime="3000"/>   
       </Channel>   
   </Cluster>            

複制

加了一個Channel,裡面包了個Membership,咱們要關注的就是membership的port屬性和address屬性,不同的叢集設定不同的port值或address值,從目前的使用來看,基本上是隔離開了。

步驟二:修改項目的web.xml檔案:

web.xml檔案的修改很簡單:隻需要在節點中添加這個節點<distributable/>就可以了。

OK,有了這二步就實作了Tomcat的叢集和Session的共享了。