LAMP是我们最基础,也是最普通的机群构架,我们现的机群构架一般都是做到数据的备份和同步,来确保数据的安全和一致。而我们面对下面的情况,如何做到用共享数据来实现数据的一致性?下面就是我产主要讨论的问题和实现的方法。

 设备需要:

           1.Server1: 172.16.121.1 web服务器,安装php服务,安

 装Discux论坛作测试。           

               2.Server2:172.16.121.1  web服务器,安装php服务器,通过NFS享                 Server1服务器上的php动态网页库。

               3.Server3:172.16.131.1  MySQL数据库,为Server1和Server2提供数据调用。

Server1操作:

 1.   这里我就用一种简单的方法来实现Server1上需要的服务。安装apache的安装包,之后进行测试,也就是在/var/www/html文件内创建以index.htmml的文件。然后在浏览器中打开http://172.16.121.1 ,查看我们是否能访问到我们自己创建的网页文件。 

2.安装php53,php53-mysql,php53-cli,php53-mbstring以实现对动态网页的解析。  把/var/www/html下的文件index.html 更改为 index.php,并且在apache的主配置文件中的网页支持格式中加入index.php.并编辑如下的php测试页:

   phpinfo();

?>

3.下载Discuz的软件包,解压之后仅把upload目录下的所有内容移动到/var/www/html目录下。删除之前我们所建立的index.php的测试页。这样我们就可以访问http://172.16.121.1/install 由于我们第一次安装,所以要指定install. 之后我们会发现,出现的网页页面是乱码的,哈,不用惊慌,这是由于apache的主配置文件中定义了默认的语言类型,我们只要注释掉AddDefaultCharset UTF-8 行就可以正常显示了。

由于我们要主Server2共享Server1的动态网页库所以我们要把/var/www/html 目录共享给Server2,所以,我们还需编辑/etc/exports文件 ,让其把网页目录共享给Server2,操作如下:

vim /etc/exports 

   /var/www/html   172.16.0.0/16(rw)

这样我们就可以把Server1 上的动态网页库共享给172.16.0.0/16网段的主机了。

Server2的操作:

       如Server1一样安装apache ,php53,,php53-mysql,php53-cli,php53-mbstring

这台web服务器上不需要安装Discuz的论坛网页库,只需把Server1上共享的Discuz网页库共享到自己的/var/www/html下就可以了。挂载命令如下:

mount -t nfs 172.16.121.1:/var/www/html /var/www/html 

这样就完成了共享。当Server1 的动态网页库内的相关内容发生改变的时候,通过Server2登录论坛时也会得到更新。这时我们就可以通过两台服务器都可以Discuz的安装页面了。

之后我们看到的Discuz画面中有一大堆的打红色叉且为不可写的状态。这是因为我们的/var/www/html/下对应的文件或目录没有可写的权限,这里我们只需要对应Discuz画面把这些文件的other给定写权限就可以了。做完这些之后,我们发现还有一项显示无法连接数据库,这是因为我们的Server3 还没有配置MySQL数据库。下面我们就来配置Server3 MySQL服务器。

     我这里也是用rpm包来安装MySQL的。要使MySQL能正常启动要安装mysql和mysql-server

然后,在mysql 中创建两个用户,并且创建一个discuz 的数据库。并给这两个用户授权,使他们可以访问数据库。然后重启mysqld服务。

我们再回到172.16.121.1浏览器中的Discus画面就可以发现下方先前出现的无法连接数据库的打叉的地方已经变为打对号的正常页面,这时会出现下一步的操作,点击下一步就会提示让我们输入一大堆的操作,有让我们输入172.16.131.1的数据库,用户名,就是我们在数据库中刚建的两个用户之一就可以了。下面还会让我们输入数据库的管理员的帐号和密码。这样就OK了,就可以完成Discuz的第一次安装。安装成功后就可以注册帐号,并用这个帐号登录发帖了。

我们再用172.16.111.1来登录Discuz的论坛,我们会发现页面提示说,该页面已安装,已被锁定,要想重新安装请删除/var/www/html 目录下某一个锁文件。我们只需删除该锁文件在172.16.111.1上以另一个用户数据库用户名重新安装一次一次就可以说了。然后注册用户登录 ,我们就可以看到在172.16.121.1上的用户发的帖子了。

按理说我们在172.16.121.1上已经安装成功了,我们的Discuz论坛是共享的,所以不应该提示我们再来安装才对,可为什么还让我们安装哪?此问题我也还没有想明白,这里我也尚没有弄清,这里就不做猜测,等我解决后再来补全。