一、实验目的:负载均衡PHP应用
二、逻辑构建:
三、实验需要:4台虚拟机,一台作为客户端,一台作为VS,两台作为RS
四、实验环境:VS的DIP要与RS的IP在同一个私网内,RS的默认网关为DIP;VS则要开启路由转发功能echo 1>/proc/sys/net/ipv4/ip_forword,注意防火墙和selinux都要关闭
五、实验步骤:
1、设置相应IP地址
2、开启VS路由转发
echo 1>/proc/sys/net/ipv4/ip_forword
3、在RS上安装httpd、php、php-mysql、mariadb-server,并启动httpd和mariadb,
a) 编辑两个RS的/var/www/html/index.html的首页文件
编辑RS1
Vim /var/www/html/index.html
Hello,I am RS 1,192.168.0.2
编辑RS2
Vim /var/www/html/index.html
Hello,I am RS 1,192.168.0.4
Systemctl start httpd
b)设置RS1数据库
systemctl start mariadb
mysql –uroot –h127.0.0.1 #授权远程用户的连接
>create databse wpdb;
>grant all privileges on wpdb *.* to
wpuser@’%’ identified by “wppass”;
>quit
4、布置VS规则
ipvsadm -A -t 172.18.24.1:80 -s rr
ipvsadm -a -t 172.18.24.1:80 -r
192.168.0.2:80 -m
ipvsadm -a -t 172.18.24.1:80 -r 192.168.0.4:80
–m
5、在客户端上检验:
For i in {1..10};do curl
http://172.18.24.1;done
查看显示信息,判断是否按照制定规则进行轮询。如没有按照轮询显示效果,则重返上述步骤,检查修改,若显示效果正常则继续。
6、在RS1上安装nfs-utils,并启动服务
Yum install nfs-utils
Systemctl start nfs
7、在RS1创建共享文件download
Mkdir /var/www/html/download
Chown –R mysql.mysql /var/www/html/download
Vim /etc/exports
/var/www/html/download 192.168.0.4/24(rw,all_squash,anonuid=27,anongid=27) #定义所有人压缩,27为mysql的uid,注意客户端必须也有个mysql其UID也是27
Exports –ra
把wordpress放置在共享文档里,并且给予其写权限
Chmod –R o+w /var/www/html/download/wordpress
8、RS2挂载共享文档
Mkdir /var/www/html/download
mount –t nfs 172.18.24.1: /var/www/html/download
/var/www/html/download
9、测试:前端访问http://172.18.24.1/download ,安装WordPress,并检测WordPress是否有上传、读写等功能。
六、实验总结:通过实验,客户端访问服务器的动态页面时候,需要会话保持,否则其会根据VS上设置的轮询规则,进行刷新,导致页面不能正常加载使用,并且RS服务器需要实现共享存储,才能确保信息的完整性。
原创文章,作者:chenxu@magedu.com,如若转载,请注明出处:http://www.178linux.com/75120