搭建LAMP+NFS(附加mysql共享NFS目录练习总结)

练习一

环境布局

主机6 route A (10.1.32.14)作为DNS服务器

主机centos 7 class (10.1.32.3)作为Apache,PHP(模块方式)服务器1(有discuz程序)

主机centos 7 server (10.1.32.13)作为Apache,php(模块方式)服务器2(无discuz)

主机centos 6 class (10.1.32.4)作为NFS服务器

主机mini 7 (10.1.32.131)作为mysql服务器(同时作为访问Apache,使用discuz的客户端)

图像 015.png 


试验导图:


图像 017.png


试验前置操作:

关闭所有主机的防火墙和SElinux,以防试验时报各种错误!

 

实验步骤:

1搭建DNS服务器:

思路:

      yum安装bind包,编辑/etc/namd.conf 添加“discuz.com”域,并修改相关配置,然  

         后在/var/named/做相应文件的创建与配置。因为当用户输入www.discuz.com时要对应

         两台Apache(php)服务器上,以实现负载均衡效应,所以要配置两个A记录。

 

2搭建Apache,php服务器,mysql 服务器

思路:

yum快速部署Apache(两台服务器的apache用户的id都是48),php;mysql到3

台主机上,并开始阶段性测试

1)测试两台web服务器的php模块运行是否正常;

/var/www/html下创建index.php,添加phpinfo()函数,访问无问题!

2)测试两台web服务器连接mysql是否正常;

  mysql服务器上授权两台web服务器的权限,注意,IP(hostname),用户名,   密码不要写错!此时可以创建discuz的数据库,并一起授权,要不后面也要执行  

  这一步骤。  

 创建/var/www/html/conn.php 编辑mysql_connect()函数,测试通过!

    

  3)测试DNS服务器

     在客户端机(10.1.32.131)上编辑/etc/resolv.conf 添加nameserver=10.1.32.14

            将客户端机的DNS服务器指向这个主机,并在网卡配置文件里添加  

            DNS=10.1.32.14

            多次ping www.discuz.com 这个网站,发现它分别指向了10.1.32.3和10.1.32.13,     DNS服务器测试成功!

 

3 搭建NFS服务器

    思路:

yum 安装nfs-utils,注意(排错),如果系统没有安装rpcbind,或rpcbind服务未开启,

那么nfs 将 开启失败!创建/data/application/web,编辑/etc/exports ,添加相应路径的主

机权限。添加用 apache,id要保证与web服务器的apache用户一样!否则会导致

后期用户无权创建,修改文件!

 

4 挂载apache服务器(10.1.32.3)文件目录到NFS服务器

1)在10.1.32.3这个web服务器下创建一个目录/nfs-web/htdoc。用于存放discuz,

     web文件,上传的图片等,然后将此目录挂载到NFS服务器(10.1.32.4):

           mount -t nfs 10.1.32.4:/data/application/web /nfs-web/htdoc

      挂载成功!

 

  2)修改/etc/httpd/conf/httpd.conf文件的DocumentRoot 为挂载目录:

        /nfs-web/htdoc;然后验证php模块,mysql的各项功能是否正常。结果:一切正常!

     3)安装discuz,创建并登录一个用户,这里用windows端测试。

1】登录:

图像 002.png 

 

数据库数据确认:

 

  图像 008.png

 

数据正常!

 

2】上传头像:

图像 005.png 

图像 006.png 

 

用户头像的保存路径为NFS服务器的:

/data/application/web/discuz/uc_server/data/avatar/

 

图像 009.png 

3】修改个人信息:

图像 011.png 

 

至此为止,apache,PHP(10.1.32.3)–>NFS–>MySql 这一条线路就已经全部打通,此线路 测试完毕!接下来测试另一个apache,PHP(10.1.32.13)服务器。

 

5 挂载apache服务器(10.1.32.13)文件目录到NFS服务器

思路:

因为共享NFS的/data/application/web/目录,所以不用安装discuz,直接挂载,使用共享目录下的文件!然后登录同一用户,以此测试数据是否同步,多次刷新是否正常:

1】登录

图像 010.png 

 

2】上传的头像与用户信息


图像 013.png 

 

在任意一台服务器上另一台服务器均能得到正确数据,多次刷新也没有问题,到此为止,试验圆满结束!

 

练习二

试验环境:

两台mysql的服务器,一台NFS服务器。

思路与解答:

NFS服务器上开启nfs服务,创建文件/mysql/data,编辑配置文件/etc/exposts,赋予两台mysql服务器对此目录具有读写权限。添加用户mysql。先在其中一台服务器上安装mysql,创建/mydata,并将此目录挂载到NFS服务器的/mysql/data下,修改/etc/my.cnf,将datadir的目录位置改为已挂载的/mydata下。

保证mysql用户的id与NFS服务器的mysql用户的id一致。赋予mysql用户对/mydata的rwx权限。启动mysql服务,失败!但进入/mydata下,却发现,已经创建了部分文件,但查看日志,报错说在创建ibdata1这个文件时失败,原因是没有权限,但是反复查看,mysql用户应该是有权限的,因此怀疑是SElinux的作用,于是关闭SElinux,再启动,成功!

再在另一台服务器上安装mysql服务,执行和上述同样的操作,成功。然后分别测试两台mysql服务器在不同状态下的启动于关闭,没有问题!一台服务器创建的数据库和表,另一台也能同步到。但在表内的数据同步出现了问题!如:mysql服务器A插入了一条数据后,mysql服务器B不能立即同步,也就是看不到A插入的数据。当A再插入第二条数据后,B会同步出A插入的第二条数据,第一条数据在B里看不到,但在A里是完整的。反复测试仍不能解决…推测是表的同步机制或共享文件机制方面的问题。

 

 

原创文章,作者:菩提本无树,如若转载,请注明出处:http://www.178linux.com/54233

(0)
菩提本无树菩提本无树
上一篇 2016-10-25
下一篇 2016-10-25

相关推荐

  • hadoop安全模式

    hadoop安全模式在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的时候去修改和删除文…

    Linux干货 2015-04-13
  • 揭开链接文件的面纱——从根本上剖析硬链接与软链接异同

    在linux的学习过程中,链接文件的学习让不少人头疼,很多同学往往分不清什么是硬链接,什么是软链接,对于两者的概念和区别常常容易混淆、搞不清楚。今天我们就从原理、从根本上为大家辨析一些两者之间的区别,相信大家在看完这篇文章之后对链接文件会有一个清晰正确的认识。 1、在实现原理上不同 硬链接,涉及到文件的底层模式,因此被称为硬链接文件。硬链接文件只是一个指针指…

    Linux干货 2016-10-20
  • day5总结笔记

    本文内容: 索引节点 硬链接与软链接 重定向 用户组 useradd命令 索引节点: 索引节点包含了一个表,包含了有关文件的元数据,包含:     文件类型,权限,UID,GID 链接数(指向这个文件名路径名称个数)      该文件的大小和不同的时间戳。&n…

    系统运维 2016-08-08
  • Bob大叔和Jim Coplien对TDD的论战

    今年春节时,我写了一篇《TDD并不是看上去的那么美》,在这篇文章中我列举了一些关于使用TDD的一些难点和对TDD的质疑,后来出现了一些争论(可参见那篇文章的评论),以及Todd同学的《TDD到底美不美》,还有infoQ中文上的那个几乎没有营养离线讨论。今天,有网友给我推来一个英文版infoQ的视频——“Coplien and Martin Debate TD…

    Linux干货 2016-08-15
  • httpd服务归纳:httpd基本配置(周边常用工具,httpd 编译安装)

    一、 服务器status页     内生的status信息,可以通过web予以显示, 可以映射为url地址进行访问     1. 配置路径有几种不同方式          如果URL可以映射…

    Linux干货 2015-05-27
  • linux bash环境变量简单总结

    一.环境变量简介Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都 是相同的,这个默认环境实际上就是一组环境变量的定义。 环境变量是全局的,设置好的环境变量可以被所有当前用户所运行的程序所使用。 用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 …

    Linux干货 2015-09-14