Nginx負載均衡和動靜分離

Nginx負載均衡和動靜分離

實驗目的:實現Nginx的負載均衡和動靜分離

實現環境:一臺server用作Nginx代理(需要兩塊網卡,eth0連接內網,eth1連接外網),兩臺用作web服務(每臺server都定義兩個虛擬機,端口分別是808080),一臺客戶端用于驗證結果;

操作步驟

負載均衡的實現:

一、配置IP

1.配置A主機的IP

# ip addr add dev eth0 192.168.10.254/24

# ip addr add dev eth1 192.168.20.254/24

2.配置B主機的IP

# ip addr add dev eth0 192.168.10.2/24

3.配置C主機的IP

# ip ddr add dev eth0 192.168.10.3/24

二、配置web服務(BC主機都做同樣配置)

1.安裝所需程序包

# yum -y install nginx php-fpm

2.配置web服務,提供默認主頁

# vim /etc/nginx/conf.d/defalut.conf

    server {

        index index.php index.html;

    }

    location / {

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;

        include fastcgi_params;

    }

# vim /usr/share/nginx/html/index.php

    <?php

        phpinfo();

    ?>

3.php-fpm的運行用戶和組改為nginx

# vim /etc/php-fpm.d/www.conf

    user = nginx

    group = nginx

4.啟動php-fpmnginx

# service php-fpm start

# service nginx start

三、配置代理,以集群方式實現負載均衡

1.安裝nginx

# yum -y install nginx

2.定義動態頁面集群組,在http{}段中定義;

# vim /etc/nginx/nginx.conf

    http {

        upstream websrvs {

            server 192.168.10.2:80;

            server 192.168.10.3:80;

        }

    }

3.調用定義的集群組,在server{}段的location{}段中調用;

# vim /etc/nginx/conf.d/default.conf

        server {

            location / {

                proxy_pass http://wersrvs;\

               index index.php;

            }

        }

4.啟動服務

# service nginx start

5.在客戶端上測試,訪問192.168.20.254地址,響應的服務器是輪詢的結果;

動靜分離的實現:

一、配置虛擬主機

1.配置虛擬主機(BC主機都作同樣配置,默認主頁中的ip地址改為C主機的ip,以示區分)

# vim /etc/nginx/conf.d/default.conf

    server {

        listen 8080;

        server_name _;

        index index.html

        location / {

            root /var/www/static;

        }

    }

2.創建默認主頁

# mkdir -v /var/www/static

# vim /var/www/static/index.html

    <h1>static page 192.168.10.2</h1>

3.檢測和重載配置

# nginx -t

# nginx -s reload

二、定義靜態頁面集群組及調用

1.定義靜態頁面集群組

# vim /etc/nginx/nginx.conf

    http {

        upstream statrvs {

            server 192.168.10.2:8080;

            server 192.168.10.3:8080;

        }

    }

2.調用定義的集群組,在server{}段的location{}段中調用;

# vim /etc/nginx/conf.d/default.conf

    server {

        location ~* \.(jpg|jpeg|png|gif|html)$ {

            proxy_pass http://stasrvs;

            index index.html;

        }

    }

結果驗證:

1.訪問靜態頁面,在瀏覽器中輸入地址:192.168.20.254/index.html,此時響應的集群組是stasrvs,且后端的服務器輪詢響應請求;

2.訪問動態頁面,在瀏覽器中輸入地址:192.168.20.254/index.php,此時響應的集群組是websrvs,且后端的服務器輪詢響應請求;

原創文章,作者:人字拖,如若轉載,請注明出處:http://www.www58058.com/75483

(0)
人字拖人字拖
上一篇 2017-05-13 22:16
下一篇 2017-05-14 09:03

相關推薦

  • 詳解 /etc/inittab 文件

    當內核初始化后,就會啟動第一個進程 init,init進程會進行一系列的系統初始化工作,init是根據什么來進行初始化的? init 會讀取/etc/inittab文件(針對CentOS 5 系列),執行里面的內容來進行初始化工作,這個文件是一定的格式。 獲取inittab文件的幫助,輸入 man inittab 命令 過濾掉空白行和以#號開始的行,內容如下…

    Linux干貨 2015-03-10
  • DNS

    DNS DNS解析 DNS名稱解析方式:名稱 –> IP:正向解析IP –> 名稱:反向解析注意:二者的名稱空間,非為同一個空間,即非為同一棵樹;因此,也不是同一個解析庫; DNS查詢類型:遞歸查詢:一般是客戶機和服務器之間的查詢;即只發送一個請求,其他的工作交由上層服務器去解決;迭代查詢:一般是服務器和服務器之間的凡是,…

    Linux干貨 2017-05-31
  • 來兩道百度的shell開胃菜

    1、寫腳本實現,可以用shell、perl等。在目錄/tmp下找到100個以abc開頭的文件,然后把這些文件的第一行保存到文件new中。 方法1: #!/bin/sh for files in `find /tmp -type f -name "abc*"|h…

    Linux干貨 2016-09-19
  • Linux中軟鏈接和硬鏈接的區別

    Linux中軟鏈接和硬鏈接的區別 鏈接文件:   Linux中包括兩種鏈接:硬鏈接(Hard Link)和軟鏈接(Soft Link),軟鏈接又稱為符號鏈接(Symbolic link)。 Inode 文件除了純數據本身之外,還必須包含有對這些純數據的管理信息 文件名; 訪問權限; 文件的屬主以; 該文件的數據所對應的磁盤數據塊; 文件的時間戳; …

    Linux干貨 2016-10-20
  • linux之網絡管理基礎

    一.IP分配的概述 公式1 一個網段的主機數=2^主機位數-2 主機ID位數=32-網絡ID位數 公式2 網絡ID=IP與子網掩碼 公式3 劃分子網: 一個大網分成若干個小網 網絡ID向主機位借位n,子網數2^n 公式4 損失IP-=(子網數2^n-1)*2 合并多個小子網成一個大的超網 如 172.16.0.0-172.31.0.0 就是主機ID向網絡ID…

    Linux干貨 2016-09-16
欧美性久久久久