HAProxy實現請求的80端口轉發至后端的8000端口并實現動靜分離

一 實驗目的

用HAProxy作為負載均衡器,實現把前端請求調度到后端,前端監聽80端口,轉發至后端的8000端口,并會對訪問資源進行判斷實現不同的訪問內容轉發至相對應的服務器。

二 實驗拓撲

1.png

三 實驗環境

IP 功能
192.168.20.108 HAProxy
192.168.237.129 Nginx
192.168.237.130 Nginx+PHP-FPM+PHP

四 實驗步驟

說明:為演示方便,被調度的服務器組中均只有一臺服務器。

1. 分別在RS1和RS2上安裝配置Nginx

#安裝nginx
yum install nginx
#配置nginx
vim /etc/nginx/conf.d/default.conf
listen       8000;   #修改監聽端口
#啟動nginx
systemctl start nginx

2. 在RS2上安裝PHP-FPM和PHP

#安裝php-fpm和php
yum install php-fpm php
#啟動php-fpm
systemctl start php-fpm
#在RS2上要再次對nginx進行配置
vim /etc/nginx/conf.d/default.conf
location ~ \.php$ {
    root           html;
    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;
}
#重新加載nginx配置文件
systemctl reload nginx

創建相應測試頁測試RS1和RS2,瀏覽器中分別輸入192.168.237.129和192.168.237.130/index.php.

2.png

3.png

3. 在192.168.20.108中安裝配置HAProxy

#安裝haproxy
yum install haproxy
#配置rsyslog
vim /etc/rsyslog.conf
local2.*    /var/log/haproxy
#重新啟動日志服務
systemctl restart rsyslog
#配置haproxy
vim /etc/haproxy/haproxy.cfg
frontend main *:80
    acl url_dynamic path_end -i .php
    default_backend static
    use_backend dynamic if url_dynamic

backend dynamic
    balance roundrobin
    server dynamic 192.168.237.130:8000 check

backend static
    balance roundrobin
    server static 192.168.237.129:8000 check

listen stats *:8080
    stats enable
    stats uri /haproxy_stats
    stats hide-version
#啟動haproxy服務
systemctl start haproxy

查看HAProxy狀態頁面

4.png

測試負載均衡效果,RS1只有index.html, RS2只有index.php. 瀏覽器中分別輸入http://192.168.20.108/index.html與http://192.168.20.108/index.php.

5.png

6.png  

這樣我們就完成了把前端對80的請求轉發至后端的8000端口響應,并實現動靜分離。

原創文章,作者:N25_zzc,如若轉載,請注明出處:http://www.www58058.com/64214

(1)
N25_zzcN25_zzc
上一篇 2016-12-19 17:34
下一篇 2016-12-19 19:00

相關推薦

  • Net25-第9周作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash for line in `cat /etc/passwd`;do if [[ `echo $line | awk -F: ‘{print $7}’` == ‘/sb…

    Linux干貨 2017-03-15
  • Nginx/LVS/HAProxy負載均衡軟件優缺點總結

    Nginx/LVS/HAProxy簡單介紹:   Nginx:專為性能優化而開發,性能是其最重要的考量,實現上非常注重效率 。它支持內核Poll模型,能經受高負載的考驗,有報告表明能支持高達 50,000個并發連接數。 LVS:使用Linux內核集群實現一個高性能、高可用的負載均衡服務器,具有很好的可伸縮性(Scalability)、可靠性(Rel…

    2017-06-24
  • GNU awk的輸出格式化和操作符

    printf命令 格式化輸出:printf “FORMAT”, item1, item2, … (1) 必須指定FORMAT (2) 不會自動換行,需要顯式給出換行控制符,\n (3) FORMAT中需要分別為后面每個item指定格式符 格式符:與item一一對應 %c: 顯示字符的ASCII碼 %d, %i: 顯示十進制整數 %e, %E:顯示…

    2018-01-01
  • while循環中的一個常見問題

    在樓主剛剛學習接觸while循環的時候,發現了一個問題,在while循環內部對變量賦值、定義變量、數組定義等等環境,在循環外面失效。 一個簡單的測試腳本如下: 執行結果證明,$new_var的結果是空值。在google上查了查,才發現問題出在管道上。 先看看下面的內容。 while循環的寫法有好幾種,它的語法結構為: while test_cmd_list;…

    2017-08-26
  • 馬哥教育網絡班21期+第9周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash     #     nolog=`awk -F: '$…

    Linux干貨 2016-09-19
  • 壓縮解壓縮 tar 主要掌握

    compress [-dfvcVr] [-b maxbits] [file …] -d: 解壓縮,相當于 -c: 結果輸出至標準輸出,不刪除原文件 單純-c 會出亂碼 所以 > .. -v: 顯示詳情 ?uncompress解壓縮 ?zcat file.Z > file  ##沒人用  因為壓縮比不高  …

    Linux干貨 2016-08-21
欧美性久久久久