keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

实验目的:使用keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

实验要求:客户端请求的动态资源代理至动态资源web组,请求的静态代理至静态资源web组,启用统计面信息并只对特定启用统计面管理功能,启用https安全连接

系统环境:CentOS 7.3、关闭selinux和清除iptables规则,AB主机各需要两块网卡,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目录下,并将其属主、属组改为apachewordpress目录下的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

CDEF主机上操作

1.G主机上导出的目录挂载至/var/www/html目录下

# mount.nfs 192.168.10.23:/data/application/web /var/www/html

2.安装httpdphpphp-mysql

# yum -y install httpd php php-mysql

3.启动http服务

# service httpd start

四、部署keepalive+haproxy

A主机上操作

1.安装keepalivedhaproxy

# yum -y install haproxy keepalived

2.编辑/etc/haproxy目录下的haproxy.cfg配置文件,作如下配置(B主机也作同样配置)

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

3.编辑/etc/keepalived目录下的keepalived.conf配置文件,作如下配置:

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

4.B主机的配置如下:

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

5.启动haproxykeepalived服务

# service haproxy start

# service keepalived start

五、安装wordpress

1.在客户端打开浏览器输入地址:192.168.20.100/wordpress,填写如图所示的信息

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

2.登录并测试发表文章,并查看日志文章,动态请求已经被代理至动态服务器组、静态请求被代理至静态服务器组;

六、启用统计信息页面,要求:只对192.168.20.10这个IP启用管理功能,其他IP只能查看

1.编辑haproxy的配置文件,作如下配置(红色方框内,两台调度器做同样配置)

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

2.保存退出并重载配置

# service haproxy reload

3.192.168.20.10主机上,打开浏览器输入192.168.20.100:9527/admin?stats,输入用户名和密码后即可查看且对后端server拥有管理功能,如图所示;

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

4.用其他地址的主机访问此页面,将只能查看,没有管理功能

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

七、启用haproxyhttps安全连接

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的配置文件,作如下配置(红色方框内,两台调度器都做同样配置):

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

5.保存退出并重载配置

# service haproxy reload

6.在客户端测试,可成功访问,如下图

keepalived+haproxy实现wordpress的动静分离及负载均衡、高可用

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

(0)
人字拖人字拖
上一篇 2017-05-18 14:00
下一篇 2017-05-18 15:00

相关推荐

  • httpd2.2基础安装

    编译安装前,首先要确认开发包组已经装上。 开发包组: Developments tools server platform development(centos 7) 并且将apr 与 apr-unil 装上。这是httpd 可移植运行所必须用到的组件.这里举例说明的是httpd2.2版本。 若是安装httpd2.4以上版本的话,还要安装pcre库。pcre…

    2017-04-24
  • 马哥教育网络班22期+第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 # fdisk /dev/sdb <<EOF> n> p> 1> &g…

    Linux干货 2016-11-28
  • linux文件系统创建

    件系统管理 格式化:低级格式化(分区之前,划分磁道)         高级格式化:在分区之后进行,创建文件系统         元数据(也是放在块上(block)):inode  &nbsp…

    Linux干货 2016-08-29
  • Linux下硬连接和软连接的区别

    Linux下硬链接与软链接的区别   链接,是指在计算机文件之间传递参数和控制命令,并把它们组成一个可执行的整体的过程。例如我们常见的windows系统下的“快捷方式”,它是一种链接,人们可以通过它来直接访问计算机上的某个文件,不必逐级在硬盘目录下寻找;互联网上的“超文本链接”,它用文字链接的形式来指向一个页面,人们可以通过此链接快速访问网站的页面…

    Linux干货 2016-10-21
  • 第三周博客作业

      开始学习已经三周了,感觉到年底有些时间不够,作业也交的越来越晚,需要加紧学习的进度了。   1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  最简单的实现题目要求的方法是使用cut命令只显示用户名并用sort命令排序去重: [root@localhost ~]# who |&nbs…

    Linux干货 2016-12-20
  • 分布式存储 Mogilefs 部署

    MogileFS是一个开源的分布式存储的解决方案,主要工作组件由三部分组成:Tracker节点:生成映射表存储于DB,并用于接收客户端请求,通过查询数据库对客户端提供后端所存储的真实文件位置DB节点:主要存储数据的元数据信息,可以理解为客户端来获取数据文件时提供的Key和真实存在存储里面的文件名的对照表Storage节点:用于存储文件的节点。工作流程,tra…

    2017-03-04

评论列表(1条)