推薦-Nginx Proxy模塊的應用之負載均衡

Ngnix Proxy模塊的應用之負載均衡



Proxy 模塊介紹

  在我之前的文章提到過,Nginx可以提供反向代理加速、基于應用層的負載均衡并能對后端
服務器做健康狀態檢測。下面我們就動手操作一下,看如何實現上述功能。


實驗環境

主機名稱 主要功能 外網地址 內網地址
code nginx代理服務器 192.168.1.11 192.168.10.1
node1 httpd應用服務器1 192.168.10.2
node2 httpd應用服務器2 192.168.10.3

如果之前沒有接觸過Nginx,請看我之前寫過的博文Nginx的編譯安裝


配置Proxy

一、配置反向代理,并利用node1與node2實現負載均衡。

1.code上的配置,編輯配置文件vim /usr/local/nginx/conf/nginx.conf

在主配置文件的http段使用upstream定義一個集群,后面的httpserver是集群的名稱。

upstream httpserver {
server 192.168.10.2;
server 192.168.10.3;
}

之后在location / 中使用proxy_pass設置將用戶的所有請求全部代理到剛才定義好的負載均衡集群中。

location / {
proxy_pass http://httpserver;
root html;
index index.html index.htm;
}

啟動服務:[root@code ~]# /usr/local/nginx/sbin/nginx
重啟服務:[root@code ~]# /usr/local/nginx/sbin/nginx -s reload

2.node1上的配置

[root@node1 ~]# yum install httpd -y 安裝httpd
[root@node1 ~]# service httpd start 啟動httpd服務
[root@node1 ~]# echo “This is node1 page” > /var/www/html/index.html 定義一個主頁面。

3.node2上的配置

[root@node2 ~]# yum install httpd -y 安裝httpd
[root@node2 ~]# service httpd start 啟動httpd服務
[root@node2 ~]# echo “This is node2 page” > /var/www/html/index.html 定義一個主頁面。配置不同的頁面,方便我們區分。

4.打開瀏覽器輸入代理服務器的地址192.168.1.11進行測試:

Alt texttest-1.gif

可以看到成功的進行了負載均衡。

5.將node2上面的httpd服務停掉,進行測試。

[root@node2 ~]# service httpd stop

Alt texttest-2.gif

代理服務器檢測到了node2的健康狀態不正常,則后續的請求全部發給了node1進行響應。

6.將node2上面的httpd服務啟動,再進行測試。

[root@node2 ~]# service httpd start

Alt texttest-3.gif

在代理服務器檢測到node2的健康狀態正常后,又將用戶的請求負載至兩臺node上。

原創文章,作者:張小凡,如若轉載,請注明出處:http://www.www58058.com/13536

(0)
張小凡張小凡
上一篇 2016-03-27 22:08
下一篇 2016-03-27 22:16

相關推薦

  • Linux上文件管理命令、元素據及時間戳、bash的工作特性回顯和命令展開、定義別名,命令引用。

    文件管理命令: mkdir 創建空目錄 語法: mkdir [選項]…目錄… 選項: -P:逐層創建目錄。 -v:顯示過程。 -m:直接給定權限。 注意:路徑的基名為命令作用對象?;窂奖仨毚嬖?。 示例 創建/tmp/x1/a/a1和/tmp/x1/b rmdir 移除空目錄 語法 rmdir [選項]…目錄&#8230…

    Linux干貨 2017-12-10
  • Linux的哲學思想

    初學Linux,了解一下Linux的哲學思想,對學習Linux還是非常有幫助的。 在了解Linux的哲學思想之前,可以先考慮一下,現在我們所學的Linux系統到底是面向什么應用場景而研發和使用的?個人認為:面向企業,是一個服務器操作系統。其所關注的地方是:高性能、可靠性、易維護性。 基于上述方面的考慮,Linux系統在構建和設計的時候,遵循了如下的哲學思想進…

    Linux干貨 2017-08-30
  • 第五周小練習

    1顯示當前系統上root,fedora或user1用戶的默認shell egrep "^(root|user1|fedora)" /etc/passwd|cut -d ':' -f 1,7 2找出/etc/rc.d/init.d/functions文件中某個單…

    Linux干貨 2016-12-12
  • 第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@UncleZ ~]# who | cut -d' ' -f1 | uniq -c 2、取出最后登錄到當前系統的用戶的相關信息。 [roo…

    Linux干貨 2016-12-17
  • 面授20期2班-08月4號課堂與課后習題

    課堂習題 1、顯示/etc/init.d/functions文件中所有的單詞及出現的次數 cat /etc/init.d/functions | tr -sc "[:alpha:]" '\n' |sort | uniq -c 2、找出ifconfig命令結果中本機的所有IPv4地址 centos6:ifconfig | h…

    Linux干貨 2016-08-08

評論列表(1條)

  • stanley
    stanley 2016-03-27 22:14

    哈哈,動圖盡顯專業,用心在寫文章。鑒定完畢,贊!

欧美性久久久久