一、首先,我们要做DNS+WEB服务+NFS(网络共享文件系统)+数据库(这里用MySQL)组合起来的通信模型,我们就要明白各个结点间的关系以及是靠什么建立联系的,最终能够实现客户端请求资源,2个web服务器都能够提供同样的文件资源,同时有能够访问数据库的能力。
先看下我们要做的实验的结构图及相关要点:
我做的步骤如下:
第一步,配置DNS服务器,使其能解析出2台web服务器的域名信息,也就是说能够通过域名来访问2台web服务器。
第二步,配置web服务器,(我使用一台主机配置2台虚拟主机的方式来实现2台web服务器),这里要配置虚拟主机,是基于主机名的虚拟主机。并配置与安装连接MySQL服务器相关的文件使其能够与MySQL数据库通信。
第三步,配置nfs网络文件系统,使其2个web服务器能实现资源共享。
第四步,配置MySQL数据库,建立表,并授权给指定的web服务器,使web服务器能够访问该数据库。
大体步骤如上描述的,下面我介绍下具体的实施步骤;
DNS服务器(centos6.5):
安装:yum install bind
在DNS配置文件/etc/named.rfc1912.zones 添加如下内容:
授权域名,并在正向解析文件/var/named/web.com.zone写上2台WEB服务器的A记录如下:
然后重启DNS服务器,就能够生效了 (如下图:能够解析出IP地址就行)
WEB服务器:
要安装web服务器工具: yum install httpd
安装php服务 , yum install php
安装连接MySQL服务的程序,yum isntall php-mysql
对于web服务,我使用虚拟主机,所以我启用了基于名称的2台虚拟主机,www.web.com和xxx.web.com
对于虚拟主机的配置如下(在/etc/httpd/conf/httpd.conf中)
注意,别忘了启动 NameVirtualHost *:80这一项啊,因为是基于名称的虚拟主机。
然后分别在/var/www/下分别创建2个目录,virtual1和virtual2,分别为2台虚拟机的DocumentRoot
提供页面文件virtual1/index.html 和 virtual2/index.html
注意项:
要在/etc/sysconfig/network-scripts/ifcfg-eth0文件中,添加如下3项内容:
IPADDR= /主机IP
NETMASK= /掩码
GATEWAY= /网关
DNS= /DNS服务器的IP地址(一定要指明)
测试下,使用WEB服务域名,能否访问web服务器的页面文件(如下图所示,证明没有问题):
NFS服务器:
NFS就是一个共享文件服务器,把底下的一个目录共享给多台主机,实现主机间文件共享。
启用NFS服务,/etc/init.d/nfs start
NFS的配置文件为/etc/exports,添加共享文件的指向信息(意思就是授权给哪台主机可以访问该目录下的内容)
/shared/nfs 172.16.14.33(rw)
创建目录# mkdir /shared/nfs
给目录授 rwx 权限 # chmod o+rwx /shared/nfs
测试,(这是nfs服务器上的共享目录的文件)
要想共享,首先得需要挂载共享的文件
# mount -t nfs 172.16.249.49:/shared/nfs /var/www/virtual1
然后再web服务器上,进入到/var/www/virtual1下,查看内容是否与nfs上的/shared/nfs目录下的文件一样。相同证明共享成功。
Mysql服务器
安装: yum install mysql-server
启动: service mysqld start
创建数据库 create database virtual
要使web服务器的主机能够访问数据库,则数据库必须先授权web服务器访问权限,命令如下:
grant select on virtual.* to virtual@www.web.com identified by ''; //意思为,授权给www.web.com这台主机以virtual的用户名访问该数据库的权限,密码为空。
grant select on virtual.* to virtual@xxx.web.com ifentified by ''; //授权给xxx.web.com这台主机
flush privileges; //更新下数据库,
MYSQL数据库基本环境准备好了。
现在,DNS,WEB,NFS,MYSQL服务都已经配置好,那么下面来验证下,整体工作是否能够正常运作。
目标,输入2个web服务器的主机名,能够访问到相同的数据内容,并能够访问MySQL数据库(且能够上传和下载内容)
首先我在web服务器/var/www/virtual1这个目录(已经挂载NFS共享目录)下创建一个论坛系统
下载论坛系统压缩包 Discuz_X2.5_SC_GBK.zip
解压到/var/www/virtual1下,
然后再浏览器中输入www.web.com/upload ,看能否成功打开论坛系统(如下图,能够打开系统)
至此,这个平台就是搭建完毕,实现了通过域名解析,来访问web服务器资源,并实现WEB服务器的资源共享,以及MYSQL数据的访问等功能。