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.178linux.com/64214

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

相关推荐

  • linux iptables替代工具nftables

    1 使用 FirewallD 构建动态防火墙 1.1 “守护进程” 1.2 静态防火墙(system-config-firewall/lokkit) 1.3 使用 iptables 和 ip6tables 的静态防火墙规则 1.4 什么是区域? 1.4.1 预定义的服务 1.4.2 端口和…

    Linux干货 2015-03-11
  • 推荐-Centos常用的进程管理和资源查看工具

    一、pstree     pstree命令以树状图的方式展现进程之间的派生关系 -a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;  -c:不使用精简标示法;  -G:使用VT100终端机的列绘图字符;  -h:列出树状图时,特别标明现在执行的程序;  -H<…

    Linux干货 2016-04-05
  • N25-第一周博客作业

    1、描述计算机的组成及其功能:    没有听马哥视频之前,计算机的组成理解为主机+显示器;    听完视频之后,对计算机的组成分为硬件系统和软件系统。    硬件系统主要有:运算器、控制器、存储器、输入设备和输出设备;    软件系统主要有…

    Linux干货 2016-12-04
  • 2016/08/07:文本处理工具及正则表达式

      在本次课程中,本以为和前面的内容难度差不多,内心毫无提防,但在做随堂练习的时候,被惨虐,不由得使我想起了高三时候拿到一张数学单元练习题,一道题也不会做的那种感觉,无助,彷徨,不甘。到了晚上总结了一下,还是有缘由可寻的。直接原因就是前面知识记得不牢固,也并未完全理解是和意思,尤其是tr命令,适用于何处,没按照5W1H方法来进行总结学习,导致应用的…

    Linux干货 2016-08-07
  • tomcat基础进阶

                        tomcat基础进阶 前言 Tomcat Architecture Tomcat Installation Tomcat…

    Linux干货 2016-04-22
  • 实验:配额、RAID、LVM

    实验:在centos7实现光盘yum源 1yum install autofs 2现在启动systemctl start autofs 3开机启动systemctl enable autofs 4 cat /etc/yum.repos.d/base.repo[centos7]name=centos7 repobaseurl=file:///misc/cdgp…

    Linux干货 2017-04-25