apache和nginx負載均衡配置

2021-07-09 11:07:10 字數 2650 閱讀 9217

一、apache負載均衡器操作

apache功能其實很是強大,最近一段時間研究了下apache的反向**和負載均衡,反向**網協的外網出口和我的部落格出口就是通過apache的反向**實現的,總結一下,重點說說負載均衡的配置。

作業系統:debian 5.03(ubuntu也可以同理配置)

(1)、輪詢均衡策略的配置

進入apache的conf目錄,開啟httpd.conf檔案,在檔案的末尾加入:

proxypass / balancer://proxy/ #注意這裡以"/"結尾

balancermember

balancermember

我們來觀察上述的引數「proxypass / balancer://proxy/」,其中,「proxypass」是配置虛擬伺服器的命令,「/」代表傳送web請求的url字首,如:http: //myserver/或者http://myserver/aaa,這些url都將符合上述過濾條件;「balancer://proxy/」表示要配置負載均衡,proxy代表負載均衡名;balancermember 及其後面的url表示要配置的後台伺服器,其中url為後台伺服器請求時的url。以上面的配置為例,實現負載均衡的原理如下:

假設apache接收到http://localhost/aaa請求,由於該請求滿足proxypass條件(其url字首為「/」),該請求會被分發到後台某乙個balancermember,譬如,該請求可能會**到 aaa進行處理。當第二個滿足條件的url請求過來時,該請求可能會被分發到另外一台 balancermember,譬如,可能會**到。如此迴圈反覆,便實現了負載均衡的機制。

(2)、按權重分配均衡策略的配置

proxypass / balancer://proxy/ #注意這裡以"/"結尾

balancermember loadfactor=3

balancermember loadfactor=1

引數」loadfactor」表示後台伺服器負載到由apache傳送請求的權值,該值預設為1,可以將該值設定為1到100之間的任何值。以上面的配置為例,介紹如何實現按權重分配的負載均衡,現假設apache收到http://myserver/aaa 4次這樣的請求,該請求分別被負載到後台伺服器,則有3次連續的這樣請求被負載到balancermember為 的伺服器,有1次這樣的請求被負載balancermember為http: 後台伺服器。實現了按照權重連續分配的均衡策略。

(3)、權重請求響應負載均衡策略的配置

proxypass / balancer://proxy/ lbmethod=bytraffic #注意這裡以"/"結尾

balancermember loadfactor=3

balancermember loadfactor=1

引數「lbmethod=bytraffic」表示後台伺服器負載請求和響應的位元組數,處理位元組數的多少是以權值的方式來表示的。 「loadfactor」 表示後台伺服器處理負載請求和響應位元組數的權值,該值預設為1,可以將該值設定在1到100的任何值。根據以上配置是這麼進行均衡負載的,假設 apache接收到http://myserver/aaa請求,將請求**給後台伺服器,如果balancermember為http: 後台伺服器負載到這個請求,那麼它處理請求和響應的位元組數是balancermember為http: 伺服器的3倍(回想(2)均衡配置,(2)是以請求數作為權重負載均衡的,(3)是以流量為權重負載均衡的,這是最大的區別)。

注:每次修改httpd.conf,用apachectl –k restart重新啟動apache。

二、nginx負載均衡操作

nginx 是由 igor sysoev 為俄羅斯訪問量第二的 rambler.ru 站點開發的,它已經在該站點執行超過兩年半了。igor 將源**以類bsd許可證的形式發布。儘管還是測試版,但是,nginx 已經因為它的穩定性、豐富的功能集、示例配置檔案和低系統資源的消耗而聞名了。

首先是配置十分的簡單,而且功能非常強大。真是相見恨晚。先來看看配置檔案怎麼寫吧

nginx負載均衡有哪些功能呢?

如果後面的伺服器其中一台壞了,它能自動識別,更牛的是它好了之後nginx可以馬上識別伺服器a和b,如果a的響應時間為3,b的響應時間為1,那麼 nginx會自動調整訪問b的概率是a的3倍,真正做到nginx負載均衡好的,安裝完成了。我在make的時候報了個錯,說http rewrite 模組 有問題,我就

然後再make,make install就可以了。

安裝好了之後新建乙個配置檔案,把上面的配置檔案內容拷進去,當然要修改你的ip,儲存為比如 load_balance.conf然後啟動:

/usr/local/nginx/sbin/nginx -c load_balence.conf

由於nginx的作者是**人,所以英文的文件也不是那麼完善,對於我來說nginx的最大優點還是配置簡單,功能強大。我曾經配過 apache-jk,那真的不是一般人能配的。太複雜了,而且只能用來做tomcat的nginx負載均衡。

nginx就沒有這個限制,對它來說後面是什麼伺服器是完全透名的。

Nginx配置upstream實現負載均衡

今天來實踐一下upstream的應用,環境如下 名稱server1 nginx server2 apache php sever3 apache php server4 nginx php ip192.168.10.3 192.168.10.4 192.168.10.5 192.168.10.6 目...

Nginx使用upstream實現負載均衡

upstream模組相關說明 1 upstream模組應放於nginx.conf配置的http 標籤內 2 upstream模組預設演算法是wrr 權重輪詢 weighted round robin 一 分配方式 nginx的upstream支援5種分配方式,下面將會詳細介紹,其中前三種為nginx...

Nginx簡介及使用Nginx實現負載均衡的原理

nginx 這個輕量級 高效能的 web server 主要可以幹兩件事情 直接作為http server 代替apache,對php需要fastcgi處理器支援 另外乙個功能就是作為反向 伺服器實現負載均衡 1 環境 a.我們本地是windows系統,然後使用virutalbox安裝乙個虛擬的li...