1.网络拓扑图如下
需求:公司内部只有一台服务器有公网IP(172.16.251.244),公司现在要自建两个网站,www.magedu.com和www.lidefu.com.
使用架构LAMP,PHP服务器和web服务器共享文件服务器的数据,以备以后扩展的时候,可以直接添加服务器挂载文件服务器的共享目录,以实现快速扩展
当内网用户访问web服务的时候,DNS解析给内网用户的IP是192.168.1.3,外网用户访问web服务的时候NDS解析给网外用户的IP是172.16.251.244.
软件及版本:Apache/2.4.9
BIND9.8.2
Iptables v1.4.7
php-5.4.26
mysql-5.5.33
各个服务器的单独安装这里就不在赘述,只叙述整个环境的搭建过程
2.LAMP+nfs
Apache/2.4.9+ php-5.4.26+mysql-5.5.33+nfs
为了提高性能,web服务和php服务分开,php服务使用fastcgi模块来实现和web服务的连接,这样web服务只负责静态的网页内容,而php服务负责动态的内容,并且为了以后的可扩展性,把网页的动态数据放在nfs文件服务器,远程共享给web服务(由于笔者还没学习到动态网页和静态网页分开存放,所以这里只好web数据和php数据都存放在nfs文件服务器,下同),当需要添加web服务器或者php服务的时候,只需把nfs的提供服务的目录挂载至新增的web(或php)服务器的工作目录即可.mysql服务器为php提供数据的存储和获取.
2-1.共享nfs的文件服务器:可以参考http://lidefu.blog.51cto.com/3429777/1386278
2-1-1新建一个共享目录,(这里只是为了方便演示,在实际的生产环境中,建议直接使用一块单独的分区来作为共享目录)/share
2-1-2编辑/etc/exports文件(此文件为nfs的共享配置文件),添加两条信息
2-1-3分别在三台服务器上(nfs,web,php)创建UID号为500的用户,用户名可以不一样.笔者创建的用户如下:
nfs服务器:ldf:500
Apache服务器:nfs:500
php服务器:nfs:500
2-2.配置Apache服务器
创建/nfs目录为Apache的工作目录,并挂载nfs服务器的共享目录
挂载目录:使用命令mount �Ct nfs 192.168.1.4:/share /nfs
设置开机自动挂载
配置Apache的配置文件:/etc/httpd/conf/httpd.conf
配置虚拟主机/etc/httpd/extra/httpd-vhosts.conf
添加一台虚拟主机,工作目录为/nfs
添加另一台虚拟主机,工作目录在/web/a.com/htdocs
将网页文件分别放置/nfs目录和/web/a.com/htdocs
3.配置php服务器
/usr/local/php/etc/php-
挂载文件服务器共享的目录至/nfs
设置开机自动挂载
4.配置mysql服务器
在数据库mysql的user表中为php服务器(192.168.1.2)添加一条帐号和密码
5.配置DNS服务器
/etc/named.rf1912c.zones
6.配置NAT服务器
NAT服务器默认策略为ACCEPT
并且使用sysctl �Cw net.ipv4.ip_forward=1,开启路由转发功能
7.分别用内网的用户和外网的用户访问这两个网页
使用内网用户ping主机
使用外网用户ping主机