实验环境:
1、centos7.3 centos6.8
2、两台VS提供nginx代理和keepalived
3、两台RS提供httpd服务并部署wordpress
4、另外一台提供Mysql数据库服务
实验拓扑图:
实验步骤
1、在vs1(172.18.251.4)上配置,用yum安装keepalived和nginx
yum install -y keepalived nginx
2、配置vs1中keepalived配置文件
vim /etc/keepalived/keepalived.com
配置keepalived.com 实现vs1为主服务提供VIP:172.18.10.82,vs2为备用的,这里提供vs1主备的配置,vs2上只需要修改:
state BACKUP
priority 98
通过嵌入脚本获取nginx的进程状况来调整主备的工作模式。
具体配置如下:
通过写通知脚本发送邮件给root,具体脚本如下:
3、配置nginx
编辑nginx的配置文件,实现nginx反向代理功能
vim /etc/nginx/conf/nginx.conf
修改nginx.conf文件
修改nginx下的server配置文件:
vim /etc/nginx/conf.d/defualt.conf
修改配置如下:
修改完毕后,可以检测nginx修改是否正确:
nginx -t
nginx
ss -tnl | grep 80
为了防止rs1和rs2访问错误,可以在vs上安装httpd服务操作如下:
yum install -y httpd
vim /var/www/html/index.html
-------index.html--------------
Sorry !
-----------end----------------------
vim /etc/httpd/conf/httpd.conf
---------httpd.conf----------
listen 8080
----------------end-------------------
systemctl start httpd
ss -tnl | grep 8080
vs2(172.18.251.40)和vs1(172.18.251.4)的配置差不多,需要注意的地方以上已经说明这里就不再复述。
4、部署rs中web服务
在rs1(172.18.250.237)通过yum安装httpd等
yum -y httpd php php-mysql
下载wordpress并解压!
cd /var/www/html
lftp 172.18.0.1
>mget pub/Sources/sources/httpd/wordpress.zip
unzip wordpress.zip
修改httpd的配置文件:
vim /etc/httpd/conf/httpd.conf
----------------httpd.conf----------------------
DocmentRoot /var/www/html/wordpress
启动httpd服务:
systemctl start httpd
ss -tnl | grep 80
rs2(172.18.253.233)配置和rs1相同。
5、部署mysql服务器
通过yum安装mysql
yum install mysql -y
service mysql start
注意确保iptables和selinux不影响,以上也是一样:
iptables -F
setenforce 0
getenforce
进入mysql数据库,新建数据库wpdb,并授权用户
mysql
>>CRTEATE DATABASE wpdb;
>> GRANT ALL ON wpdb.* TO 'wpuser'@'172.18.%.%' IDENTIFIED BY 'wppasswd'
6、启动vs服务器上的keepalived
在vs1和vs2上启动keepalived服务
systemctl start keepalived
ip a l
此处为了测试效果,在rs1和rs2新建测试页如下:
7、测试高可用效果
通过停止服务检测高可用的效果。
vs1:
systemctl stop nginx
ss -tnl
可以通过tcpdump命令查看检测过程如下
经过试验可以看出keepalived和nginx调度后,可实现高可用
8、通过网页访问,配置wordpress