欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

用Nginx 給Google App Engine 做負(fù)載均衡_Web服務(wù)器教程

編輯Tag賺U幣

周末突發(fā)奇想“能不能用nginx給自己的多個(gè)Google App Enine (以下簡(jiǎn)稱GAE)應(yīng)用作負(fù)載均衡呢?”想想蠻有意思的,動(dòng)手試試看吧,不過這是我第一次用nginx做負(fù)載均衡,也是玩玩而已,我還沒有那么大訪問量的應(yīng)用。

關(guān)于nginx的介紹,百度百科,維基百科和官網(wǎng)都能找到,國(guó)內(nèi)的張晏寫很了個(gè)很詳細(xì)的用nignx 搭建Web服務(wù)器的教程-《Nginx + PHP (FastCGI)搭建勝過Apache十倍的Web服務(wù)器》,也是得益于這個(gè)教程,我才順利的在vps上用nginx搭建好了Web服務(wù)器,在此表示感謝。

負(fù)載均衡聽起來貌似很復(fù)雜,很深?yuàn)W的技術(shù),等你親自嘗試一番之后會(huì)發(fā)現(xiàn):其實(shí)在nginx上配置比較簡(jiǎn)單。

好了,下面就進(jìn)入到我們這個(gè)系統(tǒng)吧,我們要架構(gòu)的整個(gè)系統(tǒng)的結(jié)構(gòu)如下:

步驟1.配置nginx代理訪問GAE應(yīng)用

首先,我們要配置多個(gè)代理(你有多少個(gè)GAE應(yīng)用配額就可以設(shè)置多少個(gè)代理),直接通過IP訪問GAE的應(yīng)用是行不通的,因?yàn)镚oogle的服務(wù)器無法辨認(rèn)是哪個(gè)應(yīng)用,所以我們要使用nginx做代理,每個(gè)代理的配置方式如下:

  1. server                                                                                                                   
  2.  {                                                                                                                        
  3.    listen 8081;                                                                                                           
  4.    location / {                                                                                                           
  5.       proxy_pass http://app1.appspot.com;   
  6.       proxy_set_header  Host  "app1.appspot.com";                                                                    
  7.       proxy_set_header  X-Real-IP   $remote_addr;                                                                         
  8.       proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;                                                       
  9.    }                                                                                                                      
  10.  }   
  11. ....  

上面配置中設(shè)置主機(jī)頭是關(guān)鍵配置,它應(yīng)該設(shè)置為你GAE應(yīng)用的原始域名,一般是xxx.appspot.com。當(dāng)你重新nginx配置后,你將可以通過8081端口訪問你的GAE應(yīng)用。

步驟2.配置負(fù)載均衡

nginx負(fù)載均衡是通過添加upstream{..}配置節(jié)來實(shí)現(xiàn)的,我配置了一個(gè)最簡(jiǎn)單的負(fù)載均衡方式:

  1. upstream backend                                                                                                         
  2.   {                                                                                                                        
  3.     server 127.0.0.1:8081;                                                                                                 
  4.     ...                                                                                                
  5.   }  

可以看到,上面可以配置多個(gè)server字段,因?yàn)樵谇懊媾渲昧硕鄠(gè)代理,它們各自使用的端口不同。關(guān)于Server,據(jù)我所知有兩種類型:

1.每個(gè)Server的ip不同,開始我給每個(gè)代理分配了一個(gè)域名,然后試圖通過不同域名來區(qū)分server,失敗了,這個(gè)還有待研究,有了解的朋友請(qǐng)不吝賜教。

2.每個(gè)Server的端口號(hào)不同,這個(gè)就是我們上面采取的方式了。

Server除了配置地址參數(shù)外,還有其他很重要的參數(shù),比如設(shè)置每個(gè)Server的權(quán)重,是否為備份server等等,需要知道更詳細(xì)的,建議看官方wiki。大家也可以嘗試多種配置,做做實(shí)驗(yàn)嘛~~

步驟3.配置應(yīng)用的總?cè)肟?/h4>

其他配置都準(zhǔn)備就緒了,就差一個(gè)應(yīng)用的入口點(diǎn),也就是訪問這個(gè)系統(tǒng)的域名,我的配置如下:

  1. server                                                                                                                   
  2.   {                                                                                                                        
  3.     listen 80;                                                                                                             
  4.     server_name g.ooq.me;                                                                                                  
  5.     location / {                                                                                                           
  6.        proxy_pass http://backend;                                                                                          
  7.        proxy_set_header  Host  $host;                                                                                      
  8.        proxy_set_header  X-Real-IP   $remote_addr;                                                                         
  9.        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;                                                       
  10.     }                                                                                                                      
  11.   }  

到這里所有的配置也就完了,重新加載一下nginx的配置文件,這個(gè)系統(tǒng)就啟動(dòng)了。想看看效果可以點(diǎn)這里。

總結(jié)

搭建這個(gè)系統(tǒng)有諸多好處:

1.可以免費(fèi)使用多個(gè)GAE跑一個(gè)應(yīng)用。

2.一個(gè)很好的學(xué)習(xí)nginx負(fù)載均衡的配置的實(shí)驗(yàn)環(huán)境。

3.永遠(yuǎn)不用擔(dān)心GAE被封掉,只要確保你的vps能訪問。

缺點(diǎn)也是存在的:

1.企業(yè)級(jí)的應(yīng)用暫時(shí)是不可能的了,就算有也不用這么麻煩,GAE本就是云計(jì)算應(yīng)用,Google已經(jīng)做了負(fù)載均衡,也就只能個(gè)人玩玩,做個(gè)博客什么的還是很好的選擇。

2.帶寬的問題,我的vps是在美國(guó),ping了一下GAE的服務(wù)器只要6-8ms,還算是比較滿意的,如果你的vps是在國(guó)內(nèi)的話,估計(jì)速度速度會(huì)成問題。

3.數(shù)據(jù)庫(kù)的共享是一個(gè)比較復(fù)雜的問題,如果每個(gè)GAE應(yīng)用都用單獨(dú)的數(shù)據(jù)庫(kù)的話,那就不是一個(gè)系統(tǒng)了。迫切期待大家想出好的解決方式。

來源:網(wǎng)絡(luò)搜集//所屬分類:Web服務(wù)器教程/更新時(shí)間:2013-04-14
相關(guān)Web服務(wù)器教程