最近在弄ejabberd+riak。其實這倆東西配置挺坑的,然後具體這倆貨怎麼配置,我以後會抽空寫出配置的詳細過程。對於負載均衡,我知道的現在有Nginx/LVS/HAProxy這三個大仙兒,各自有各自的優缺點,有關優缺點大家可以度娘一下。先來看看什麼是負載均衡。 負載均衡:是由多台伺服器以對稱的方
最近在弄ejabberd+riak。其實這倆東西配置挺坑的,然後具體這倆貨怎麼配置,我以後會抽空寫出配置的詳細過程。對於負載均衡,我知道的現在有Nginx/LVS/HAProxy這三個大仙兒,各自有各自的優缺點,有關優缺點大家可以度娘一下。先來看看什麼是負載均衡。
負載均衡:是由多台伺服器以對稱的方式組成一個伺服器集合,每台伺服器都具有等價的地位,都可以單獨對外提供服務而無須其他伺服器的輔助。通過某種負載分擔技術,將外部發送來的請求均勻分配到對稱結構中的某一臺伺服器上,而接收到請求的伺服器獨立地回應客戶的請求。均衡負載能夠平均分配客戶請求到伺服器列陣,籍此提供快速獲取重要數據,解決大量併發訪問服務問題。這種群集技術可以用最少的投資獲得接近於大型主機的性能。--摘自度娘
今天先來看看Nginx。
一、本機環境:
ubbuntu 14
pcre-8.38 傳送門-->pcre
nginx-1.9.12 傳送門-->nginx
二、安裝
1.分別解壓兩個壓縮包
1 #解壓pcre並重命名文件夾 2 tar zxvf ./pcre-8.38.tar.gz 3 mv pcre-8.38 pcre 4 #解壓nginx並重命名文件夾 5 tar zxvf ./nginx-1.9.12.tar.gz 6 mv nginx-1.9.12 nginxView Code
2.安裝依賴
1 sudo apt-get install -y gcc g++ makeView Code
3.安裝pcre
1 cd ./pcre 2 ./configure prefix=/usr/local/pcre 3 make && make installView Code
4.安裝nginx
1 #進入nginx文件夾 2 cd ../nginx 3 #加入參數編譯 4 ./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx.pid --with-http_stub_status_module --with-http_ssl_module --with-pcre=stream --with-pcre=/programs/pcreView Code
在這步,需要註意註意幾點:
第一點,--with-pcre=stream這個參數,自從nginx1.9.0版本開始,開始支持tcp的負載均衡,但是預設沒有這個功能,加入這個參數才能對tcp金星負載均衡。
第二點,--with-pcre這個參數,這個其實是要你定位你pcre的源代碼的,不管你是否剛纔裝了pcre。
第三點,就是有關openssl。當你遇到如下錯誤,要安裝Openssl
1 #錯誤1,需要安裝openssl 2 ./configure: error: SSL modules require the OpenSSL library. 3 You can either do not enable the modules, or install the OpenSSL library 4 into the system, or build the OpenSSL library statically from the source 5 with nginx by using --with-openssl=<path> option. 6 #安裝openssl 7 sudo apt-get install -y opensslView Code
第四點,有關zlib。當遇到如下錯誤,要安裝libssl-dev
1 #錯誤,需要安裝libssl-dev 2 ./configure: error: the HTTP gzip module requires the zlib library. 3 You can either disable the module by using --without-http_gzip_module 4 option, or install the zlib library into the system, or build the zlib library 5 statically from the source with nginx by using --with-zlib=<path> option. 6 #安裝libssl-dev 7 sudo apt-get install -y libssl-dev 8 #./configure通過以後,開始編譯 9 sudo make && make installView Code
現在你可以到轉到/usr/local/nginx/sbin/目錄去啟動Nginx。不出意外,你打開瀏覽器輸入網址,應該可以看到Nginx的歡迎界面
那現在先恭喜下,你的Nginx安裝成功了。下麵開始做配置。
三、將Nginx添加到PATH
1 #編輯/etc/bash.bashrc 2 sudo vim /etc/bash.bashrcView Code
在最下麵添加如下代碼
1 #添加如下代碼 2 if [ -d "/usr/local/nginx/sbin" ]; then 3 PATH="$PATH:/usr/local/nginx/sbin" 4 fi 5 #保存退出 6 #刷新配置 7 source /etc/bash.bashrcView Code
現在你在任何地方都可以用nginx來啟動了
四、配置
1.Http
你的conf文件在/usr/local/nginx/conf中,叫做nginx.conf,你需要對其進行配置,下麵我的一個簡單的例子,來展示如何配置
1 http { 2 upstream backend { 3 server 10.0.1.11:1234; 4 server 10.0.1.12:1234; 5 } 6 server { 7 listen 80; 8 server_name example.com; 9 location / { 10 limit_except GET { 11 deny all; 12 } 13 proxy_pass http://backend; 14 } 15 } 16 }View Code
其中upstream部分設置你要負載的地址,可以添加weight來設置比重
proxy_pass後面要跟http://upstreamname這樣才能配置成功,然後你可以重啟你的nginx來驗證你的配置
2.tcp
還是更改conf文件,如下例子
1 stream { 2 upstream backend { 3 server 10.17.0.1:1234; 4 server 10.17.0.2:1234; 5 } 6 server { 7 listen 8080; 8 proxy_connect_timeout 1s; 9 proxy_timeout 3s; 10 proxy_pass backend; 11 } 12 }View Code
這裡要註意proxy_pass填的是upstreamname,沒有http://
這樣你就能訪問tcp介面了。
其實有關Nginx還有很多細項配置,我以後可能會在講解實際軟體配置時再講解。這篇先寫到這了,希望對大家有幫助。
轉載請註明
作者:李小二的春天
地址:http://www.cnblogs.com/LittleTwoLee/p/5258279.html