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
下一篇 2017-05-18

相关推荐

  • 学习札记:用户管理,权限管理和ACL欢乐”斗地主”

    补充:touch /etc/nologin 启动系统维护功能,其他用户不能登陆,除了管理员,可以自定义内容,在普通用户登陆的时候可以看到相关维护提示,解除维护模式的话,必须要删除该文件,另外可以创建/run/nologin达到相同的效果(仅限于CentOS 7), 用户属性修改 usermod [OPTION] login -u UID: 新UID -g G…

    Linux干货 2016-08-04
  • CA证书服务搭建与申请

    服务端根CA创建证书 进入固定目录,创建所需要的文件 cd /etc/pki/CA/ touch /etc/pki/CA/index.txt 生成证书索引数据库文件 echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号 生成秘钥 (umask 066;openssl genrsa -out /etc/pki/CA/pri…

    2017-09-11
  • DNS和BIND配置(第二部分)

    接第一部分课后练习 三、课后练习: 2、配置反向解析: 步骤一:写主配置文件:改成与上个实验相同,也可以自己写一个简单的配置文件,如下: [root@localhost tmp]# cat named.conf.new options { directory  "/var/named&qu…

    Linux干货 2016-10-17
  • 系统管理之磁盘管理(二)磁盘配额,RAID,LVM

    上篇博文给大家介绍了磁盘和文件系统的基础知识,也是最基本的使用.在实际生产环境中,对于磁盘的使用,要求稳定,灵活,那么下面给大家分享下磁盘的高级用法.磁盘配额,RAID,LVM等相关知识. 1.磁盘配额2.磁盘RAID3.LVM 一.磁盘配额 1.概述: • 在内核中执行 • 以文件系统为单位启用 • 对不同组或者用户的策略不同…

    Linux干货 2016-09-05
  • shell脚本编程

    一、编程基础: shell脚本是包含一些命令或声明,并符合一定格式的文本文件 shell脚本的用途有: 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 1)     第一步:使用文本编辑器来创建文本文件 script.sh 并编写内容 格式要求:首行shebang &nb…

    Linux干货 2016-08-15
  • LVM(重要)

    LVM   LVM(Logical Volume Manger),是一种磁盘分区管理机制,可以灵活的调整分区的大小。它是将多个硬盘组成卷组的形式实现的。说白了就是通过软件来实现对分区灵活管理。   LVM是将多块硬盘组成PV,再由PV组成VG,VG再组成lv,然后在lv上创建文件系统。   物理存储介:指的就是硬盘等,最基本的存储单元。   PV(physi…

    Linux干货 2016-08-30

评论列表(1条)