Chinaunix首页 | 论坛 | 博客
  • 博客访问: 171425
  • 博文数量: 12
  • 博客积分: 333
  • 博客等级: 二等列兵
  • 技术积分: 208
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-11 10:41
文章分类
文章存档

2012年(12)

分类: LINUX

2012-07-18 21:17:47

一、实验目的

  本实验主要通过nfs解决多台web服务器负载均衡的问题和数据同步的问题。

二、实验环境:

 如上拓扑图所示,在server1上安装有mysql数据库,server2和server3通过nfs共享server1上的mysql数据库,同时,将discuz网站的源码放在server1上,即:server1只运行mysql,而server2和server3只运行php和apache。这样可以保证用户不管访问server2或者server3都可以得到相同的结果。

三、实验步骤

1、server1的配置

      (1)首先在server1上安装mysql(在此以绿色版为例,具体步骤请参照博文LAMP的编译安装),在此不再赘述。

      (2)利用nfs将mysql的解压后的文件和discuz共享出去。

点击(此处)折叠或打开

  1. #yum -y install nfs-utils
  2. #service portmap start #vim /etc/exports (在此文件中添加如下内容)
  3. /usr/local/mysql 172.16.66.1(rw)
  4. /usr/local/mysql 172.16.77.1(rw) #exportfs -arv 将discuz共享出去,同理需要编辑/etc/exports文件 #vim /etc/exports 在此文件中添加如下内容:
  5. /web 172.16.66.1(rw) /web 172.16.77.1(rw) /注意要事先将discuz的文件放在/web目录中。
  6. #exportfs -arv

 2、server2的配置

(1)安装apache-2.4.2,具体步骤请参照博文LAMP的编译安装。
(2)将server1共享的文件挂载至本机。

点击(此处)折叠或打开

  1. #mkdir /mysql(将server1的mysql文件挂载至此目录中)
  2. #mkdir /web(将server1中的discuz挂载至此目录中)
  3. #vim /etc/fstab 在此文件中添加如下内容: 172.16.58.1:/usr/local/mysql /mysql nfs default 0 0 172.16.58.1:/web /web nfs default 0 0
  4. #mount -a

 (3)编译安装php。注意php指定的--with-mysql与--with-mysqli的路径。

点击(此处)折叠或打开

  1. # tar xf php-5.4.4.tar.bz2
  2. # cd php-5.3.14
  3. # ./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
  4. # make
  5. # make test
  6. # make intall

3、server3配置

 server3的配置和server2的配置一样,在此不赘述。

四、实验结果及验证

1、在浏览器中输入172.16.66.1/install(注意第一次一定要这样输入),出现如下页面:

 2、进入下一步进入如下页面:

注意以上页面是执行以下命令得到的结果,在server1上做如下操作:

点击(此处)折叠或打开

  1. #setfacl -m u:daemon:rw ./config.inc.php #setfacl -m u:daemon:rwx ./attachments/ ./forumdata/ ./forumdata/cache/ ./forumdata/templates/ ./forumdata/threadcaches/ ./forumdata/logs/ ./uc_client/data/cache/

3、点击下一步,进入如下页面:

如果出现如下界面,则说明需要在server1的mysql数据中创建数据库和用户具体步骤如下:

 

  如出现以上情况则在server上做如下操作:

点击(此处)折叠或打开

  1. mysql> create database discuz;
  2. mysql> create user 'discuz'@172.16.77.1 identified by 'redhat';
  3. mysql> create user 'discuz'@172.16.66.1 identified by 'redhat';
  4. mysql> grant ALL on discuz.* to 'discuz'@172.16.66.1;
  5. mysql> grant ALL on discuz.* to 'discuz'@172.16.77.1;
  6. mysql> flush privileges;

4、以后一直点击就可以了,最终会得到如下界面:

5、注册一个用户并在其上发表帖子,这是在server3的操作如下: 

在用户登录server2这台主机就能看到如下效果了:

到此为止实验结束!!!

阅读(9052) | 评论(2) | 转发(1) |
0

上一篇:iptables layer7实现应用层过滤

下一篇:没有了

给主人留下些什么吧!~~

linuxmu2012-07-20 07:52:35

xdsnet: 楼主的提要介绍和拓扑以及后文描述不符啊,请认真审校文字,主要是server1和server3可能搞混了。.....
恩,是的,我也看到了,谢谢提醒,以后还请多多指教!

xdsnet2012-07-19 20:56:02

楼主的提要介绍和拓扑以及后文描述不符啊,请认真审校文字,主要是server1和server3可能搞混了。