當前位置:編程學習大全網 - 源碼下載 - CentOS環境下Nginx實現3臺虛擬機負載均衡

CentOS環境下Nginx實現3臺虛擬機負載均衡

負載均衡

先來簡單了解壹下什麽是負載均衡,單從字面上的意思來理解就可以解釋N臺服務器平均分擔負載,不會因為某臺服務器負載高宕機而某臺服務器閑置的情況。那麽負載均衡的前提就是要有多臺服務器才能實現,也就是兩臺以上即可。

測試環境

在VMware裏安裝了三臺。

A服務器IP :192.168.0.219 (主)

B服務器IP :192.168.0.119

C服務器IP :192.168.0.109

部署思路

A服務器做為主服務器,域名直接解析到A服務器(192.168.0.219)上,由A服務器負載均衡到B服務器(192.168.0.119)與C服務器(192.168.0.109)上。

在A服務器上,upstream指令——分配負載

vi /etc/nginx/conf.d/default.conf

upstream 192.168.0.219 {

server 192.168.0.119:80;

server 192.168.0.109:80;

}

server {

listen 80;

server_name 192.168.0.219;

charset utf8;

location / {

proxy_pass

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

保存重啟nginx

在B、C服務器上,

vi /etc/nginx/conf.d/default.conf

server {

listen 80;

server_name 192.168.0.219;

index index.html;

root /usr/share/nginx/html;

}

保存重啟nginx

測試

當訪問的時候,為了區分是轉向哪臺服務器處理我分別在B、C服務器下寫壹個不同內容的index.html文件,以作區分。

打開瀏覽器訪問a.com結果,刷新會發現所有的請求均分別被主服務器(192.168.5.149)分配到B服務器(192.168.0.119)與C服務器(192.168.0.109)上,實現了負載均衡效果。

主服務器不能提供服務嗎?

以上例子中,我們都是應用到了主服務器負載均衡到其它服務器上,那麽主服務器本身能不能也加在服務器列表中,這樣就不會白白浪費拿壹臺服務器純當做轉發功能,而是也參與到提供服務中來。

怎麽解決這個問題呢?因為80端口已經用來監聽負載均衡的處理,那麽本服務器上就不能再使用80端口來處理192.168.0.219的訪問請求,得用壹個新的。

於是我們在主服務器中編輯/etc/nginx/conf.d/default.conf,添加以下內容

server {

listen 8080;

server_name 192.168.0.219;

index index.html;

root /usr/share/nginx/html;

}

重啟nginx

然後,再重新渡負載均衡。

更多Nginx相關教程見以下內容

CentOS 6.2實戰部署Nginx+MySQL+PHP

使用Nginx搭建WEB服務器

搭建基於Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服務器全過程

CentOS 6.3下Nginx性能調優

CentOS 6.3下配置Nginx加載ngx_pagespeed模塊

CentOS 6.4安裝配置Nginx+Pcre+php-fpm

Nginx安裝配置使用詳細筆記

Nginx日誌過濾 使用ngx_log_if不記錄特定日誌

  • 上一篇:江門有幾個碼頭?
  • 下一篇:怎麽編譯並調試 openjdk 源代碼
  • copyright 2024編程學習大全網