一 實驗目的
用HAProxy作為負載均衡器,實現把前端請求調度到后端,前端監聽80端口,轉發至后端的8000端口,并會對訪問資源進行判斷實現不同的訪問內容轉發至相對應的服務器。
二 實驗拓撲
三 實驗環境
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.
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狀態頁面
測試負載均衡效果,RS1只有index.html, RS2只有index.php. 瀏覽器中分別輸入http://192.168.20.108/index.html與http://192.168.20.108/index.php.
這樣我們就完成了把前端對80的請求轉發至后端的8000端口響應,并實現動靜分離。
原創文章,作者:N25_zzc,如若轉載,請注明出處:http://www.www58058.com/64214