1. 程式人生 > >.Net-Nginx實現負載均衡

.Net-Nginx實現負載均衡

blog src 網易 www 命令 cin 服務器 light r12

一:負載均衡簡介

  負載均衡,英文名稱為Load Balance,其意思就是分攤到多個操作單元上進行執行,例如Web服務器、FTP服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。

二:Nginx簡介

  Nginx ("engine x") 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。Nginx是由Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的,第一個公開版本0.1.0發布於2004年10月4日。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4發布。

  Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,供俄國大型的入口網站及搜索引擎Rambler(俄文:Рамблер)使用。其特點是占有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、新浪、網易、騰訊等。

三:Linux操作系統安裝

  本文以Linux CentOS為例,具體請參見,《window虛擬機安裝Linux》文章

四:Nginx環境搭建

  (1)打開終端,輸入命令行:sudo yum install nginx,過一會會顯示安裝完畢,入下圖所示:

  技術分享圖片

  (2)啟動nginx服務,輸入命令:service nginx start,啟動nginx服務,如下圖

  技術分享圖片

  到此為止Nginx服務簡單搭建成功。

五:Web站點準備

  下面我們先來建立2個web站點來測試Nginx負載均衡是怎麽工作的。

  首先建立2個MVC站點,NginxMVCDemo1和NginxMVCDemo2,分別在Index的Action中添加下列代碼段,如下如所示:

  技術分享圖片

  技術分享圖片

  分別建立2個IIS站點,對應NginxMVCDemo1和NginxMVCDemo2 端口為:8063和8062,如下如:

  技術分享圖片

  此時這兩個站點的地址分別為: 192.168.1.108:8063 和 192.168.1.108:8062

六:Nginx配置

  (1)查看Linux CentOS的ip地址,代開終端輸入:ifconfig,如下圖所示:

  技術分享圖片

  (2)修改nginx.conf配置文件,輸入如下命令:

   

1 2 cd /etc/nginx/ 切換到到nginx目錄 vim nginx.conf 用vim命令打開nginx.conf配置文件進行修改

  

   如下如所示:

   技術分享圖片

   加入下列配置節點 

1 2 3 4 5 6 7 8 9 10 11 12 upstream 192.168.152.128{ server 192.168.1.108:8063; server 192.168.1.108:8062; } server{ listen 80; server_name 192.168.152.128; location /{ proxy_pass http://192.168.152.128; } }

  如下圖,保存後退出

  技術分享圖片

  保存後退出並重啟Nginx服務器,輸入命令行:service nginx restart

  技術分享圖片

在瀏覽器中輸入192.168.152.128,並不斷刷新:如下圖所示,大家可以發現A和B兩個站點是隨機切換的。

  技術分享圖片

  另外還可以對A和B兩個站點做權重配置,具體配置請參見Nginx詳細配置。

 

.Net-Nginx實現負載均衡