基于nfs,lamp实现论坛交互

NFS文件系统是什么?NFS是网络文件系统(Network File System)的简称,是分布式计算系统的一个组成部分,可实现在异种网络上共享和装配远程文件系统。NFS由Sun公司开发,目前已经成为文件服务的一种标准(RFC1904,RFC1813)。其最大的功能就是可以通过网络,让不同操作系统的计算机可以共享数据,所以也可以将它看做是一个文件服务器。NFS文件服务器是Linux最常见网络的服务之一。尽管它的规则简单,,却有着丰富的内涵。NFS 服务器可以看作是一个文件服务器,它可以让你的PC通过网络将远端的NFS 服务器共享出来的文件挂载到自己的系统中,在客户端看来使用NFS的远端文件就象是在使用本地文件一样。NFS或许是使用RPC最突出的网络服务了。它允许你以访问任何本地文件一样的方法来访问远程主机上的文件。这是通过将客户端的内核功能(它使用远程文件系统)与服务器端的NFS服务器功能(它提供文件数据)相混合而成为可能的。这种文件访问对客户来说是完全透明的,并且可在各种服务器和各种主机结构上工作。

NFS提供的许多优点:被所有用户访问的数据可以存放在一台中央主机上,由客户在引导启动时加载这个目录。例如,你可以将所有用户的帐目存放在一台主机上,让你的网络上的所有用户从那台主机上加载/home目录。如果也安装了NIS的话,用户就可以登录进任何系统上,而始终在一组文件上工作。需要耗费大量磁盘空间的数据可以被保存在一台主机上。例如,所有有关LaTeX和METAFONT的文件和程序可以在一个地方保存和维护。管理用的数据可以存放在单个主机上。不再需要使用rcp将相同的文件安装到20个不同的机器上。

因此我们可以通过nfs共享一个论坛系统,然后通过2台apache服务器分别挂载这个nfs文件系统,然后实现在本地数据的交互。

拓扑图:

在php服务器上创建nfs共享文件系统,通过2台apache服务器分别挂载这个nfs文件系统,mysql服务器实现数据交互,此过程基于LAMP方式来实现本地论坛的实时交互

一:配置环境

服务器名服务器地址软件版本

apache1172.16.251.50httpd.2.4.9

apache2172.16.251.120httpd.2.4.9

php172.16.251.203php-5.4.26

mysql172.16.251.252mysql-5.5.33

准备4台主机分别装上apache,php,mysql,具体步骤不演示了。参考前面的LAMP的安装步骤

二、在PHP服务器上提供个nfs共享目录

先创建个分区,并把此分区挂载到要共享的目录上

# fdisk /dev/sdb//通过此命令创建个20G的分区sdb1# mke2fs -t ext4 /dev/sdb1 //格式化此分区# vim /etc/fstab//并以acl方式开机挂载# /dev/sdb1 /usr/local/apache1/htdocs/nfsshare ext4 defaults,acl0 0#mount -a//自动挂载

本实验nfs共享目录为/usr/local/apache1/htdocs/nfsshare

安装nfs服务

# yum -y install nfs-utils

编辑/etc/exports文件

/usr/local/apache1/htdocs/nfsshare172.16.0.0/16(rw,sync,all_squash)

exports文件参数详解

◆ rw 可擦写的权限。◆ ro 只读的权限。 ◆ no_root_squash 当登入NFS主机使用共享之目录的使用者如果是root时,那么这个使用者的权限将被转换成为匿名使用者,通常它的UID与GID都会变成nfsnobody身份。 ◆ root_squash 登入NFS主机使用共享目录的使用者,如果是root,那么对于这个共享的目录来说,它就具有 root的权限。 ◆ all_squash 不论登入NFS使用者的身份为何,它的身份都会被转换成为匿名使用者,通常也就是nfsnobody。 ◆ anonuid 通常为nfsnobody,当然也可以自行设定这个UID的值,UID必须存在于/etc/passwd当中。 ◆ anongid 同anonuid,但是变成group ID就是了。 ◆ sync 资料同步写入到内存与硬盘当中。◆ async 资料会先暂存于内存当中,而非直接写入硬盘。

修改nfsshare目录可以被nfsnobody用户读写执行

[root@localhost htdocs]# setfacl -m u:nfsnobody:rwx nfsshare/

给此共享目录提供论坛文件

我们使用phpwind9.0这个论坛版本

# unzip phpwind_v9.0_gbk.zip //解压phpwind

把解压出来的内容复制到共享目录中

启动nfs

# service rpcbind start# service nfs start

三、在apache服务器上挂载此共享目录

同样的安装nfs-utils服务

通过showmount命令可以看出网络中挂载了哪些nfs文件系统,如下图:

编辑/etc/fstab使nfs开机挂载

#172.16.251.203:/usr/local/apache1/htdocs/nfsshare /usr/local/apache1/htdocs/nfsshare nfs,_dev defaults 0 0

执行mount -a ,查看是否挂载上

修改以下文件的权限(改为777就行)

而是面对它们,同它们打交道,

基于nfs,lamp实现论坛交互

相关文章:

你感兴趣的文章:

标签云: