php 88端口代理80,HAProxy实现请求的80端口转发至后端的8000端口并实现动静分离

一 实验目的

用HAProxy作为负载均衡器,实现把前端请求调度到后端,前端监听80端口,转发至后端的8000端口,并会对访问资源进行判断实现不同的访问内容转发至相对应的服务器。

二 实验拓扑

3c8ce6380daa33c267ccb0e2e66a02de.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.

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.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状态页面

3c8ce6380daa33c267ccb0e2e66a02de.png

测试负载均衡效果,RS1只有index.html, RS2只有index.php. 浏览器中分别输入http://192.168.20.108/index.html与http://192.168.20.108/index.php.

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

这样我们就完成了把前端对80的请求转发至后端的8000端口响应,并实现动静分离。

原创文章,作者:N25_zzc,如若转载,请注明出处:http://www.178linux.com/64214

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要安装和配置 HAProxy 和 Keepalived: 1. 安装 HAProxy 和 Keepalived 在 Ubuntu 系统上,可以使用以下命令来安装: ``` sudo apt-get update sudo apt-get install haproxy keepalived ``` 2. 配置 HAProxy 编辑 `/etc/haproxy/haproxy.cfg` 文件,添加如下内容: ``` frontend www bind *:80 mode http default_backend servers backend servers balance roundrobin mode http server backend1 192.168.1.1:73 check server backend2 192.168.1.2:73 check ``` 这里配置了一个名为 `www` 的前端,绑定在 80 端口,并将请求转发到名为 `servers` 的后端后端使用 roundrobin 算法进行负载均衡,并且配置了两个服务器,分别是 `192.168.1.1` 和 `192.168.1.2`,监听端口为 73。 3. 配置 Keepalived 编辑 `/etc/keepalived/keepalived.conf` 文件,添加如下内容: ``` vrrp_script chk_haproxy { script "killall -0 haproxy" interval 2 weight 2 } vrrp_instance VI_1 { interface eth0 state MASTER virtual_router_id 51 priority 101 virtual_ipaddress { 192.168.1.100/24 } track_script { chk_haproxy } } ``` 这里配置了一个名为 `VI_1` 的 Keepalived 实例,使用 `eth0` 网卡作为虚拟 IP 的网络接口,虚拟路由 ID 为 51。主服务器的 `priority` 要比备份服务器的低,这里设置为 101。 还配置了一个名为 `chk_haproxy` 的脚本,用于检测 HAProxy 进程是否存在。 4. 启动 HAProxy 和 Keepalived 依次启动 HAProxy 和 Keepalived: ``` sudo service haproxy start sudo service keepalived start ``` 现在,应该可以通过访问虚拟 IP `192.168.1.100:80` 来访问后端服务器了。如果主服务器宕机,备份服务器会自动接管虚拟 IP,确保服务的高可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值