一 实验目的
用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.178linux.com/64214