实验目的:使用keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用
实验要求:客户端请求的动态资源代理至动态资源web组,请求的静态代理至静态资源web组,启用统计面信息并只对特定启用统计面管理功能,启用https安全连接
系统环境:CentOS 7.3、关闭selinux和清除iptables规则,A和B主机各需要两块网卡,eh0连接内网,eth1连接外网;
操作步骤:
一、配置IP
1.配置A主机的IP
# ip addr add dev eth0 192.168.10.3/24
2.配置B主机的IP
# ip addr add dev eth0 192.168.10.33/24
3.配置C主机的IP
# ip addr add dev eth0 192.168.10.2/24
4.配置D主机的IP
# ip addr add dev eth0 192.168.10.22/24
5.配置E主机的IP
# ip addr add dev eth0 192.168.10.4/24
6.配置F主机的IP
# ip addr add dev eth0 192.168.10.44/24
7.配置G主机的IP
# ip addr add dev eth0 192.168.10.23/24
二、配置NFS+Mysql
G主机上操作
1.安装所需程序包
# yum -y install nfs-utils mysql
2.准备用户apache(访问NFS服务时映射为的用户)
# useradd -u 48 apache
3.准备需要导出的目录,且其属主、属组为apache
# install -o apache -g apache -d /data/application/web
4.下载wordpress程序包并解压至/data/application/web目录下,并将其属主、属组改为apache,wordpress目录下的wp-content目录的权限改为777(上传图片是需要写权限)
# unzip wordpress-4.3.1.zh_CN.zip
# mv wordpress /data/application/web
# cd /data/application/web
# chown -R apache.apache wordpress
# chmod 777 wordpress/wp-content
5.编辑nfs配置文件,将/data/application/web目录导出,允许192.168.10.0/24网段连接,导出属性为rw,async,用户映射为apache
# vim /etc/exports
/data/application/web 192.168.10.0/24(rw,async,anonuid=48,anongid=48)
6.启动mysql服务,创建数据库wpdb,并授权用户wpuser对该数据库下的所有表拥有所有权限
# service mysqld start
# mysql
mysql>CREATE DATABASE wpdb;
mysql>GRANT ALL ON wpdb.* ‘wpuser’@’%’ IDENTIFIED BY ‘wppasswd’;
mysql>FLUSH PRIVILEGES;
mysql>exit
7.启动nfs服务并验证导出的目录是否成功
# service nfs start
# showmount -a
三、部署lamp
在C、D、E、F主机上操作
1.将G主机上导出的目录挂载至/var/www/html目录下
# mount.nfs 192.168.10.23:/data/application/web /var/www/html
2.安装httpd、php、php-mysql
# yum -y install httpd php php-mysql
3.启动http服务
# service httpd start
四、部署keepalive+haproxy
A主机上操作
1.安装keepalived、haproxy
# yum -y install haproxy keepalived
2.编辑/etc/haproxy目录下的haproxy.cfg配置文件,作如下配置(B主机也作同样配置)
3.编辑/etc/keepalived目录下的keepalived.conf配置文件,作如下配置:
4.B主机的配置如下:
5.启动haproxy、keepalived服务
# service haproxy start
# service keepalived start
五、安装wordpress
1.在客户端打开浏览器输入地址:192.168.20.100/wordpress,填写如图所示的信息
2.登录并测试发表文章,并查看日志文章,动态请求已经被代理至动态服务器组、静态请求被代理至静态服务器组;
六、启用统计信息页面,要求:只对192.168.20.10这个IP启用管理功能,其他IP只能查看
1.编辑haproxy的配置文件,作如下配置(红色方框内,两台调度器做同样配置)
2.保存退出并重载配置
# service haproxy reload
3.在192.168.20.10主机上,打开浏览器输入192.168.20.100:9527/admin?stats,输入用户名和密码后即可查看且对后端server拥有管理功能,如图所示;
4.用其他地址的主机访问此页面,将只能查看,没有管理功能
七、启用haproxy的https安全连接
1.构建私有CA
# touch /etc/pki/CA/index.txt
# echo 01 > /etc/pki/CA/serial
# (umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
# openssl req -x509 -new -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 7300
2.生成证书请求
# (umask 066; openssl genrsa -out /etc/haproxy/ha.key 1048)
# openssl req -new -key /etc/haproxy/ha.key -out /etc/haproxy/ha.csr
# openssl ca -in /etc/haproxy/ha.csr -out /etc/haproxy/ha.crt -days 365
3.合并私钥和证书
# cd /etc/proxy
# cat ha.key ha.crt > ha.pem
4.编辑haproxy的配置文件,作如下配置(红色方框内,两台调度器都做同样配置):
5.保存退出并重载配置
# service haproxy reload
6.在客户端测试,可成功访问,如下图
原创文章,作者:人字拖,如若转载,请注明出处:http://www.178linux.com/76173
评论列表(1条)
66666学习了