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
下一篇 2017-05-14

相關推薦

  • 數組和字符串處理

    數組:存儲多個元素的連續的內存空間,相當于多個變量的集合     1)定義數組:        declare -a ARRAY_NAME 定義普通數組 可省略declare -a ]#arr=(a b&nbs…

    Linux干貨 2016-08-24
  • Centos6.5上搭建openvpn

    一、openvpn原理 二、安裝openvpn 三、制作相關證書     3.1 制作CA證書     3.2 制作Server端證書     3.3 制作Client端證書 四、配置Server端 五、配置C…

    Linux干貨 2016-04-28
  • grep、egrep、vim練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及內部文件的屬組和其它用戶均沒有任何訪問權限。         [root@localhost ~]# install -d -m 600&nb…

    Linux干貨 2016-11-18
  • lvs 基本概念

    LVS(linux virtual machine) 的簡寫,是一個虛擬的服務器集群系統,主要用于4層負載均衡。 宗旨: 使用集群技術和Linux操作系統實現一個高性能、高可用的服務器. 很好的可伸縮性(Scalability) 很好的可靠性(Reliability),應該還是高可用吧 很好的可管理性(Manageability…

    Linux干貨 2015-09-14
  • 測試so接口函數的腳本 [python]

    下面是一個測試solib庫中調用函數的測試腳本,但該腳本還存在這一些問題,我目前無法理解和解決; 問題: 1.我定義了logging采用日志滾動的方式,寫日志,并且每個日志的大小是20M,但測試結果發現日志連1M都沒到就開始輪轉了,并且在輪轉過程中,還出現logging寫日志,卻發現,日志輪轉了,結果竟然報了,輪轉日志不存在。 Traceback (most…

    Linux干貨 2016-01-05
  • 攜程全站癱瘓引發的思考

       為今年5月冠上多事之夏的名頭已是無可厚非的一件事,自支付寶光纖被挖斷后,攜程又暴出全站癱瘓的風波,從5/28 11:00開始,直到晚上11:29分才全面恢復.互聯網也是謠言四起,紛紛猜測百度騰訊誰會是下一個災難的受害者。暫切拋開這些玩笑言論,就攜程本次事情引發的思考太多,前車之鑒后事之師,如果攜程的事情發生到我們身上,我們該怎么辦,…

    Linux干貨 2015-06-03
欧美性久久久久