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)
N25_zzcN25_zzc
上一篇 2016-12-19
下一篇 2016-12-19

相关推荐

  • 计算机编程简史图

       这个图片太经典了,本来想翻译的,后来觉得这么经典的图片可能早已被人翻译了,简单的Google一下,果然有人翻译了。那我就把英文版和中文版都转过来吧。我们可以看到,其中很大一部分人都和Unix有着不解之缘(参见《Unix传奇上篇,Unix传奇下篇》) 英文原版 中文翻译版 什么也不说了,直接上图(图片比较大,单击图片看大图) 计算机编…

    Linux干货 2015-04-02
  • 根DNS域名解析的实现

    一、实现从根,com,rj.com 模拟互联网的DNS架构 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。 接下来就一起开始搭建吧 首先,我们需要计划好实验环境,包括实验的步骤思路 1)实验环境(最好是画图展示,能使思路清…

    2015-02-10
  • 搭建简单的ftp和http

    搭建简单的ftp和http 我们主要尝试光盘和编译两种方式安装 ftp 首先我们先安装ftp ftp可以用来做文件传输,也可以搭建ftp作为我我们的网络yum源 首先我们要先把镜像连接到我们的Linux中 进入/etc/yum.repos.d/创建一个.repo结尾的文件,在里面配置自己的yum源 [base] baseurl=file:///misc/cd…

    2017-06-15
  • mysql-yum安装多实例

    1.安装包 yum install mariadb-server 2.创建文件 3 分别生成3306,3307,3308数库文件 4.复制主配置文件并分别修改端口路径 5.准备一个启动脚本并开启服务 /mysqldb/3307/mysqld start 6.用mysql -S 命令进入    

    2018-01-28
  • 浅谈群红包的实现

    前言:红包是支付的方式, 也是社交的延伸。群红包在这两块领域串联得很好, 表现尤为的浓墨重彩. 承接上两篇技术浅谈:1). 浅谈接龙红包的技术实现.2). 浅谈微信红包摇一摇的技术实现.这一次, 让我们谈谈群红包的技术实现. 一为是红包的分配算法, 二为竞抢的技术实现. 分配算法:最初玩群红包的时候, 并没有意识到分配算法的难度…

    Linux干货 2015-03-10
  • N24_jerry 第十二周作业

    1、请描述一次完整的http请求处理过程; 简介 一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准…

    Linux干货 2017-03-22