实验目的:
当一台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这台主机上做如下操作:
- #vim /etc/exports 向此文件中添加如下内容:
- /usr/local/mysql 172.16.5.1(rw,no_root_squash)
- #exportfs -ar
这样172.16.58.1中的mysql文件的文件就共享出去了。
(2)在172.16.5.1中进行如下设置:
- #vim /etc/fstab 向此文件中添加如下内容:
- 172.16.58.1:/usr/local/mysql /mysql nfs defaults 0 0
- #mount -a
- #mount
- /dev/mapper/vol0-root on / type ext3 (rw)
- proc on /proc type proc (rw)
- sysfs on /sys type sysfs (rw)
- devpts on /dev/pts type devpts (rw,gid=5,mode=620)
- /dev/mapper/vol0-home on /home type ext3 (rw)
- /dev/sda1 on /boot type ext3 (rw)
- tmpfs on /dev/shm type tmpfs (rw)
- none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
- sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
- 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,并将其解压,然后进行编译安装。如下所示:
- # tar xf php-5.4.4.tar.bz2
- # cd php-5.4.4
- # ./configure --prefix=/usr/local/php --with-mysql=/mysql --with-openssl
- --with-mysqli=/mysql/bin/mysql_config --enable-mbstring
- --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml
- --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt
- --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
- # make
- # make test
- # make intall
(4)将以上步骤安装完之后就可以进行测试。本文以discuz为例。注意,要在172.16.5.1这台主机上配置好discuz,然后从浏览器中进行测试。
注意在第一次172.16.5.1discus时要重新在数据库中授权,然后进行测试,例如在172.16.5.1服务器上注册一个用户并发贴:
用另一台服务器地址登陆显示如下: