在上一篇博客中,部署了lvs-dr模式的Linux服务器集群,在这篇博客中介绍对其的使用,通过在集群中部署wordpress来进行实验。

一、部署实验环境

    首先部署集群,可以参考上一篇博文中最后部署lvs-dr的方法部署lvs-dr集群:http://11142243.blog.51cto.com/11132243/1974868

    然后,因为wordpress使用到了数据库,而在这里我们需要保证不管调度器给我们分配到了哪一个服务器,我们能够访问到的数据都一样,所以我们需要额外的加入一台服务器负责MySQL服务。在上一篇博客中所构建的lvs-dr模型上添加一台服务器,IP配置信息如图所示:

e2bc4e1e90682b11b64fb4796d5635be.png-wh_

    在MySQL服务器上安装mysql服务和客户端并创建一个172.16.0.0/16网段可以访问的wordpress账户:

 ~]# yum -y install mysql mysql-server

        安装完成之后,启动mysql服务:

 ~]# service mysqld start

        启动服务之后,直接使用“mysql”命令进入mysql命令行模式(刚安装完,没有密码):

92cf20f62bece72301a75e507edd223d.png-wh_

        在命令行模式下使用下面的命令创建wordpress数据库和wordpress用户并赋予其远程登陆的权限:

mysql> create user 'wordpress'@'172.16.%.%' identified by '123456';
mysql> create database wordpress;
mysql> grant all privileges on wordpress.* to wordpress;

    执行完上面的操作之后,就可以在作为web服务器上远程连接这台mysql服务器了:

c1968b76e689ce4934ad41c87bf759ca.png-wh_

    命令:

~]# mysql -u wordpress -h 172.16.128.16 -p

二、安装wordpress

    首先在两台服务器上安装wordpress所必需的软件

~]# tar zxf wordpress-4.8.1-zh_CN.tar.gz -C /var/www/html/
~]# yum -y install php php-mysql mysql        #mysql安装用来测试是否能远程连接数据库服务器

    安装完成之后通过浏览器直接访问这两台服务器,看到如图所示画面即为成功:

f538bc5634d2694fff8b76cd2446b178.png-wh_

    然后修改wordpress的配置文件,将其中的数据库名等信息改为如图所示:

~]# cp /var/www/html/wordpress/wp-config{-sample,}.php
~]# vim /var/www/html/wordpress/wp-config.php

3cdd1fc2e6352b61185b336eb8827fb2.png-wh_

    通过浏览器直接访问就可以看到如图所示画面:

15ecbfd355c260b260d8bb47da3b2489.png-wh_

    访问调度器,也可以看到:

b4156feb23495e25b4589b7bdcc6e50c.png-wh_

    在这里填写一些信息之后就可以进入wordpress的主界面了。

三、测试

    进入主界面之后,我们可以在里边发表一篇博客,名为“This is test1”:

4d20841250e5b50679ecd6713a697fe9.png-wh_

    但是,到底是哪一台服务器在为我们工作呢?可以在调度器上通过下面这条命令查看:

~]# watch -n 0.2 ipvsadm -ln     #“-n”后面为多少秒查看一次

0969eea1d110e51344b937d95483094d.png-wh_

    ActiveConn是当前生效的连接数,可以看到,当我们刷新页面的时候,这两台服务器的数字来回切换,但是这样的来回切换有的时候会导致一些问题的发生,所以我们可以给其添加延时选项,让一个访问到调度器的IP在一段时间内只能访问同一个服务器(具体的方法查看上一篇博客)。我们还可以在MySQL服务器上安装phpMyadmin查看数据库,命令如下(具体操作参考原先的博客):

[root@localhost ~]# tar zxf phpMyAdmin-3.5.4-all-languages.tar.gz -C /var/www/html/
[root@localhost ~]# mv /var/www/html/{phpMyAdmin-3.5.4-all-languages,phpmyadmin}
[root@localhost ~]# service httpd start
mysql> grant all privileges on wordpress.* to 'wordpress'@'localhost' identified by '123456';

4b2a79cec7059a9028bbff20082fd5ea.png-wh_