实验目的:

 当一台web服务器无法满足广大用户的需求时,需要增加一台服务器,这样的话,会造成用户用户访问不同两台服务器是得到不同的结果,于是提出了如下解决方案。
实验环境:

如上图所示:172.16.58.1这台服务器上安装有Apache,php和Mysql;172.16.5.1这台服务器安装有Apache,php;这两台服务器共用Mysql数据库,这样的话,当用户在不同的服务器上注册时,都保存在同一数据库中,于是就实现了数据的同步。

实验思路概括:

为了实现两台服务器上的数据同时保存至同一数据库中,可以将172.16.58.1的数据库所在的目录,通过NFS共享至172.16.5.1这台服务器上,这样,就可以实现数据的同步。

实验步骤:

(1)在172.16.58.1这台服务器搭建好LAMP,具体步骤,参照本博客LAMP平台的搭建。

(2)在172.16.5.1中安装好Apache后,然后再安装PHP,注意安装PHP时,需要用到mysql的库文件等,这样必须在用NFS将172.16.58.1中的mysql库文件共享至172.16.5.1这台服务器上,其具体步骤如下:

        (1)搭建NFS共享服务,在172.16.58.1这台主机上做如下操作:

 
  1. #vim /etc/exports 向此文件中添加如下内容:  
  2. /usr/local/mysql 172.16.5.1(rw,no_root_squash)  
  3. #exportfs -ar 

这样172.16.58.1中的mysql文件的文件就共享出去了。

        (2)在172.16.5.1中进行如下设置:

 
  1. #vim /etc/fstab  向此文件中添加如下内容:
  2. 172.16.58.1:/usr/local/mysql    /mysql          nfs     defaults        0 0  
  3. #mount -a  
  4. #mount  
  5. /dev/mapper/vol0-root on / type ext3 (rw)  
  6. proc on /proc type proc (rw)  
  7. sysfs on /sys type sysfs (rw)  
  8. devpts on /dev/pts type devpts (rw,gid=5,mode=620)  
  9. /dev/mapper/vol0-home on /home type ext3 (rw)  
  10. /dev/sda1 on /boot type ext3 (rw)  
  11. tmpfs on /dev/shm type tmpfs (rw)  
  12. none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)  
  13. sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)  
  14. 172.16.58.1:/usr/local/mysql on /mysql type nfs (rw,addr=172.16.58.1) 

 

(3)编译安装PHP

下载php-5.4.4.tar.bz2,并将其解压,然后进行编译安装。如下所示:

 
  1. # tar xf php-5.4.4.tar.bz2  
  2. # cd php-5.4.4  
  3. # ./configure --prefix=/usr/local/php --with-mysql=/mysql --with-openssl   
  4. --with-mysqli=/mysql/bin/mysql_config --enable-mbstring   
  5. --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml   
  6.  --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt    
  7. --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2   
  8. # make  
  9. # make test  
  10. # make intall 

(4)将以上步骤安装完之后就可以进行测试。本文以discuz为例。注意,要在172.16.5.1这台主机上配置好discuz,然后从浏览器中进行测试。

注意在第一次172.16.5.1discus时要重新在数据库中授权,然后进行测试,例如在172.16.5.1服务器上注册一个用户并发贴:

 

 

 用另一台服务器地址登陆显示如下: