php nfs存储,基于轮询解析+共享存储(NFS)的LAMP

在之前的博文中我己经介绍过了基于不同的主机来实现LAMP,那时我用开了三台虚拟机,这次将说明用五台虚拟机,模拟一个相对简单的生产环境。直接上图(画的不好,请各位看官多多包涵)

5ed11cb89e3379c1f4ec04bf92560f60.bmp

一、预备知识:

1、深入了解DNS工作原理。

5、数据库基础知识

6、网络共享

7、lvm

如果你具备以上知识,那么上图将一目了然(只是我画的太烂了)

二、简单的说明一下上图所能够实现的功能

1、如果有大量的请求是能过DNS智能分配置流量,减小前端APACHE1和APACH2单独压力,当前端一个服务器出现故障时,不会让业务下线。

2、在PHP服务器上挂载一个存储设备,做为PHP与APACHE利用NFS服务共享存储,存放静态或动态资源便于集中式的管理。

3、结合mysql数据库来存储业务数据。

三、本机环境及所用到的软件版本

系统:centos6.5.x86_64

DNS:BIND 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6

HTTPD:采用编译安装httpd-2.4.9.tar.bz2

PHP:采用编译安装PHP-5.4.26.tar.bz2

mysql:采用通用二进制安装mysql-5.5.33.tar.bz2

四、配置过程

1、配置DNS服务器(仅正向解析)

前提:

为DNS设置IP地址,主机名,DNS.

在本实验中DNS配置如下

主机名:www.dns.essun.com

IP地址:eth0:192.168.1.50/24,eth0:0 10.01.10.10/8

DNS: 192.168.1.50

功能:为其它域内主机解析

①使用yum安装bind,修改配置文件

②配置数据区域文件(#vim /var/named/essun.com.zone)

7091234926011f5067b4646eed81a8d5.png

③写完之后进行语法检查

④如果没有错误,就可以启动DNS服务,为其它服务器解析

测试一下:

bff598e8f5af708d382c041e54c2d832.png

注:

如果你对以涉及到的知识有疑问请参阅(DNS配置)

⑤将DNS添加到开机启动服务列表,这样就可以开机自动启动服务了

b8f0fdea2e991ea685492efad2a35338.png

======================================到此DNS安装完成=================================

2、编译安装HTTPD

前提:

配置网络属性

第一台HTTPD服务器

主机名:www.apache.essun.com

IP地址:eth0:192.168.1.10/24

DNS:192.168.1.50

第二台HTTPD服务器

主机名:www.apache.essun.com

IP地址:eth0:192.168.1.20/24

DNS:192.168.1.50

先行安装两台APACH服务器。具体配置过程请参考前一篇博文中的编译安装APACHE部分,其过程完全一样。此处略过。

httpd-vhost文件内容如下:(两台配置文件完全相同)

d0c0f44f988f36b1bb60e251908c7484.png

注:

在写虚拟主机通过fcgi来处理php请求时的地址要指向本实验的PHP服务器的IP地址

②在每一台服务器上添加一个普通用户,用于可以访问共享,要与NFS服务器上新建的用户UID相同

========================================================================================

3、编译安装PHP

前提:

配置网络属性

IP地址:eth0:192.168.1.30/24

DNS:192.168.1.50

①具体安装安装过程请参阅(安装PHP部分)

②要修改监听的IP地址。

③安装nfs.

④挂载一个新硬盘或分区到PHP服务器站点目录

9784a27588da05a59710443b4e9d22e0.png

⑤共享此目录

7852579e0326c42eef1a97ac7d9854b0.png

⑥添加一个用户

⑦给共享目录授权

⑧启动NFS服务

===================================到此PHP与NFS安装完毕=============================

4、安装Mysql

前提

配置网络属性

IP地址:eth0:192.168.1.40/24

DNS:192.168.1.50

①安装过程请参阅(mysql安装)

②新建立一个数据库

7a5c9a3402314d97249806863eba11a3.png

③授权用户

===============================================mysql相关配置完成========================

5、测试

1、安装discuz

下载最新版本的discuz解压到PHP的共享站点目录

5088595343a5809d4fb37836ec3d6f27.png

注:

修改配置文件

e6bd531a1eceddfb65c5c17787d10c7a.png

要对upload目录给权限(安装需要)

#chmod 777 upload/

2、将PHP上的共享目录挂载到前端

9037ec88fa77bdb9dea252cab7c2c68f.png

注:APACHE1的挂载方法与此相同。

3、安装discuz

通过浏览器访问www.aache.essun.com/upload就可以在web界面安装discuz论坛了,安装完成后,会让你输入管理员密码,确认后就可以管理论坛了。

4、网络测试

注:

我的测试环境

物理机:

9ec96906c53be77e33cbdec883614586.png

通过VMnet1与虚拟机中的DNS相连。

1ab4e0960079ed14afde121d0a96dbec.png

虚拟机中的其它服务器通过VMnet8相连

fb05d5e9b6b8eb3607c97f03156ebe6f.png

(经过多方测试,还是用了VMnet8,这样10段的网络相当于没有生效。。。)

物理机与虚拟机的服务器测试

8592f944011b8f0116af497fed2e7be7.png

5、论坛测试

APACHE1

1e6e2b4b86fc8a85348cd1a40344a5dd.png

APACHE2

342b317c7bd2e4ee461b40a96ca763be.png

FQDN

69c3435e7bc1cf355ac2977415a78647.png

注:

由于两台主机的FQDN相同,所以无法判断访问的是那一台主机,那我用dig测试一下,服务是怎么响应的

dig -t A www.apache.essun.com @192.168.1.50

6ed9a1d26556ca0cbdf9ba749bb21cf5.png

第二次

c8b31880ebea8772fbc171abf3cc0aef.png

第三次

51e8710501b64f29761bc9bcaaf54bf8.png

看到了吧,DNS随机解析,也不能说明就能实现智能解析,我们知道DNS解析过的域名是有缓存的,所以用这种方式还是不妥的,这里仅是实验,将之前的知识结合起来运用,就没有问题了

===================================到此本实验测试结束================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值