主要的目的是实现负载均衡,所以采用rpm包安装,DNS也是提供最基本的正向解析。

环境介绍:三台虚拟机,数据库服务器以及DNS服务器放在172.16.16.3台虚拟机上,在172.16.16.33这台虚拟机上创建论坛,172.16.16.1这台虚拟机用来挂载第二台虚拟机上的论坛。

环境图示:

 

 

注意:确认selinux的状态时关闭的。 

在虚拟机172.16.16.3上操作:

安装DNS和MYSQL服务器

 
  
  1. yum install bind97  bind97-libs  bind97-utils.i386                                
  2.  
  3. yum install mysql mysql-devel mysql-server 

启动mysql服务

 
  
  1. service mysqld start 

在mysql上创建一个存放论坛用户信息的数据库mydb,并且提供一个可以访问这个数据库的一个用户bbsuser密码是redhat.

 
  
  1. [root@ns1 ~]# mysql 
  2.  
  3. mysql> grant all mydb.* to 'bbsuser'@'172.16.%.%' identified by 'redhat'
  4.  
  5. mysql>flush privileges; 

建立DNS域,提供相应主配置文件/etc/named.conf以及对应的区域文件/var/named/magedu.com.zone

 
  
  1. vim /etc/named.conf 
  2.  
  3. options { 
  4.  
  5.         directory "/var/named"; 
  6.  
  7. }; 
  8.  
  9. zone "magedu.com." IN { 
  10.  
  11.         type master; 
  12.  
  13.         file "/var/named/magedu.com.zone"; 
  14.  
  15. }; 

提供正向解析文件,给open.magedu.com这个主机名提供两条A记录

 

 
  
  1. vim /var/named/magedu.com.zone 
  2.  
  3. $TTL 86400 
  4.  
  5. $ORIGIN magedu.com. 
  6.  
  7. @       IN      SOA     open.magedu.com. admin.magedu.com. ( 
  8.  
  9.                                 2012110601 
  10.  
  11.                                 2H 
  12.  
  13.                                 10M 
  14.  
  15.                                 11D 
  16.  
  17.                                 1D ) 
  18.  
  19.         IN      NS      open 
  20.  
  21. open    IN      A       172.16.16.33 
  22.  
  23. open    IN      A       172.16.16.1 

 

启动服务DNS服务:

 

 
  
  1. service named start 

在虚拟机172.16.16.33上操作:

在172.16.16.33上先对172.16.16.3提供的DNS服务器测试下。

 

安装LAMP有的包并没有写进去,yum会自动帮忙解决依赖关系,将那些rpm包安上。

 
  
  1. yum install httpd 
  2.  
  3. yum install mysql  
  4.  
  5. yum install php53 php53-common php53-cli php53-mysql 

解压论坛压缩包Discuz到目录/www/Discuz,此时会生成三个目录 readme upload utilities。

 
  
  1. mkdir /www/Discuz 
  2.  
  3. cd /www/Discuz 
  4.  
  5. unzip Discuz_7.2_FULL_SC_GBK.zip  
  6.  
  7. cp upload/* . 

在Httpd的主配置文件当中定义主机位置(即论坛):

 
  
  1. vim /etc/httpd/conf/httpd.conf 
  2.  
  3. DocumentRoot "/www/Discuz" 

此时就可以在浏览器中显示安装向导了,在首次浏览要输入install.否则不会弹出安装向导页面。

 

在安装向导中会给出提示有些文件时没有读写权限。

此时我们根据提示要给定rw权限(如果是目录文件一定要给执行权限),这里的u所指的用户在httpd的主配置文件/etc/httpd/conf/httpd.conf中的User 定义,我们这里指定的是apache.

 
  
  1. cd /www/Discuz 
  2.  
  3. setfacl -m u:apache:rw- config.inc.php  
  4.  
  5. setfacl -m u:apache:rwx p_w_uploads/ 
  6.  
  7. setfacl -m u:apache:rwx forumdata/cache/ 
  8.  
  9. setfacl -m u:apache:rwx forumdata/templates/ 
  10.  
  11. setfacl -m u:apache:rwx forumdata/threadcaches/ 
  12.  
  13. setfacl -m u:apache:rwx forumdata/logs/ 
  14.  
  15. setfacl -m u:apache:rwx uc_client/ 
  16.  
  17. setfacl -m u:apache:rwx uc_client/data/ 
  18.  
  19. setfacl -m u:apache:rwx uc_client/data/cache/ 

编辑php.ini里面的一个选项要改成on在装论坛Discuz的过程中这一步会给出提醒,但是有的此类

应用是不会提示我们去操作这一部的------支持短标签。

 
  
  1. vim/etc/php.ini 
  2.  
  3. short_open_tag=on  

为论坛指定存放用户的数据库:

此时在172.16.16.33的论坛就可以访问了,在172.16.16.33上的操作已经完成

 

 

想要通过172.16.16.1这个IP可以访问172.16.16.33这台主机上的论坛,必须在172.16.16.16.33的/etc/exprots文件中定义允许被挂载。

 
  
  1. vim /etc/exports  
  2. /www/Discuz     172.16.0.0/16(rw,root_squash) 

 

在命令行输入一次输入exportfs命令,-r:重新导出所有目录       -v:表示显示详细过程

 
  
  1. exportfs -r 
  2.  
  3. exportfs -v 

 

在虚拟机172.16.16.1上操作:

安装MYSQL和PHP,在安装PHP的时候yum会自动解决它的依赖关系。

 
  
  1. yum install mysql 
  2.  
  3. yum install php53 php53-common php53-cli php53-mysql 

 

在Httpd的主配置文件当中定义主机位置(将要挂载论坛的位置):

 
  
  1. vim /etc/httpd/conf/httpd.conf 
  2.  
  3. DocumentRoot "/www/Discuz" 

同样还得让/etc/php.ini支持短标签

  1. vim/etc/php.ini 
  2. short_open_tag=on  

 将论坛挂到172.16.16.1的目录/www/Discuz下(其实真正的就是这一部实现了论坛的共享)

 
  
  1. mkdir /www/Discuz 
  2. mount -t nfs 172.16.16.33:/www/Discuz /www/Discuz 
  3. vim /etc/resolv.conf  

在172.16.16.1和172.16.16.3上均启动nfs服务,并确认启动它的锁服务,这个用来防止资源争用的。

 
  
  1. service nfs start 
  2. service nfslock start 

此时就可以通过172.16.16.1同时也能访问到论坛了。

接下来要实现的就是通过域名open.magedu.com这个主机名称访问我们的论坛。亲注意啊,这里的这个主机名由DNS文件决定,与我们的各台主机上的主机名是没有任何关系的。

 

将172.16.16.1这台主机和172.16.16.33这台主机的DNS都指向我们的172.16.16.3上DNS服务器

 
  
  1. vim /etc/resolv.conf  
  2.  
  3. ServerName:172.16.16.3 

我们要用windowx中的浏览器所以我们还要将它的DNS服务器指向我们自己的DNS服务器。

 

 

此时在外部的浏览器当中就可以访问了

 

当我们通过open.magedu.com这个主机名访过后,分别查看172.16.16.1和172.16.16.33的访问日志即/var/log/httpd/access_log ,就会发现都会有访问的记录。说明轮询的功能实现了。