NFS服务器:
操作系统:CentOS 5.5
IP:192.168.1.10
nfs网络文件服务器共享目录:/abc
目录所有者:www(说明:www为nginx运行账号,使web服务器可以直接写入附件与图片)
chown www.www -R /abc
NFS客户端:
操作系统:CentOS 5.5
IP:192.168.1.11
nfs网络文件服务器挂载目录:/abc
目录所有者:www(说明:www为nginx运行账号,使web服务器可以直接写入附件与图片)
chown www.www -R /abc
一、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,关闭
shutdown -r now #重启系统
二、防火墙设置,开启相应端口
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 32769 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1001 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1001 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1002 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1002 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1003 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1003 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1004 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1004 -j ACCEPT
/etc/init.d/iptables restart
#最后重启防火墙使配置生效
防火墙端口说明:
portmap或者rpcbind(CentOS 6.x)使用:tcp/udp 111
nfs使用:tcp/udp 2049
mountd使用: TCP/UDP 892
rquotad使用:tcp/udp 875
status使用: TCP/UDP 1001-1004共四个端口
nlockmgr使用:TCP/32803端口 UDP/32769端口
三、安装NFS服务器
rpm -q nfs-utils portmap
#检查是否安装,注意:在CentOS 6.x中portmap的名称变为rpcbind
出现下面的提示说明安装成功,备注:CentOS默认已经安装了nfs服务
nfs-utils-1.0.9-44.el5
portmap-4.0-65.2.2.1
yum install nfs-utils portmap
#安装
vi /etc/sysconfig/nfs
#编辑配置文件
RQUOTAD_PORT=875
#取消前面的注释
LOCKD_TCPPORT=32803
#取消前面的注释
LOCKD_UDPPORT=32769
#取消前面的注释
MOUNTD_PORT=892
#取消前面的注释
STATD_PORT=1001
#取消前面的注释,端口修改为1001
STATD_OUTGOING_PORT=1004
#取消前面的注释,端口修改为1004
:wq!
#保存退出
四、配置nfs
vi /etc/exports
#编辑配置文件,添加以下内容
/abc 192.168.1.0/24(rw,sync,no_subtree_check,anonuid=501,anongid=501)
:wq!
#保存退出
相关参数说明:
/abc #NFS共享目录
192.168.1.0/24 #允许这个网段内的所有IP地址访问共享目录,也可单独设置一个IP
rw #读取写入权限
sync #数据实时同步
no_subtree_check #不检查目录权限,提高数据读取效率
no_subtree_check ## 不检查root权限,提高数据读取效率
anonuid=501 #501代表www用户 打开cat /etc/passwd 查找www对应的id (可选))
anongid=501 #501代表www组 打开cat /etc/passwd 查找www对应的id (可选))
启动服务(注意顺序不能错)
/etc/rc.d/init.d/portmap start
/etc/rc.d/init.d/nfslock start
/etc/rc.d/init.d/nfs start
chkconfig portmap on
#设置开机启动
chkconfig nfslock on
#设置开机启动,开启此服务保持数据一致
chkconfig nfs on
#设置开机启动
要停止服务,执行下面的命令
(注意顺序不能错)
service nfslock stop
service nfs stop
service portmap stop
(如果是直接使用servic 命令重启了以上服务,则客户端必须umount /abc 并重新mount 服务器一次,如果是服务器直接reboot命令重启则不需要)
五、客户端NFS
rpcinfo -p 192.168.1.10
#查看使用端口,出现下面的提示,说明配置正确
程序 版本 协议 端口
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 1001 status
100024 1 tcp 1001 status
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 32769 nlockmgr
100021 3 udp 32769 nlockmgr
100021 4 udp 32769 nlockmgr
100021 1 tcp 32803 nlockmgr
100021 3 tcp 32803 nlockmgr
100021 4 tcp 32803 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100005 1 udp 892 mountd
100005 1 tcp 892 mountd
100005 2 udp 892 mountd
100005 2 tcp 892 mountd
100005 3 udp 892 mountd
100005 3 tcp 892 mountd
showmount -e 192.168.21.160
#显示server上面共享的目录,出现下面的提示,说明配置正确
Export list for 192.168.1.10:
/abc 192.168.1.0/24
六、配置NFS客户端
rpm -q nfs-utils portmap
#检查是否安装,注意:在CentOS 6.x中portmap的名称变为rpcbind
出现下面的提示说明安装成功
nfs-utils-1.0.9-60.el5
portmap-4.0-65.2.2.1
备注:CentOS默认已经安装了nfs服务,如果没有安装,执行下面的命令
yum install nfs-utils portmap
#安装
启动服务(注意顺序不能错)
/etc/rc.d/init.d/portmap start
/etc/rc.d/init.d/nfslock start
/etc/rc.d/init.d/nfs start
chkconfig portmap on
#设置开机启动
chkconfig nfslock on
#设置开机启动,开启此服务保持数据一致
chkconfig nfs on
#设置开机启动
要停止服务,执行下面的命令
(注意顺序不能错)
service nfslock stop
service nfs stop
service portmap stop
#客户端挂载NFS服务器共享目录,第一个目录是nfs服务器共享目录,第二个目录是客户端本地目录
mount -t nfs -o soft,intr,bg,rw,rsize=32768,wsize=32768 192.168.1.10:/abc /abc
如果要卸载目录,执行下面命令
umount /abc #卸载目录挂载
df -h #查看目录挂载状态
设置开机自动挂载目录
echo "mount -t nfs -o soft,intr,bg,rw,rsize=32768,wsize=32768 192.168.1.10:/abc /abc" >> /etc/rc.local
如果nfs服务器增加了共享目录/etc/exports则运行: exportfs -avr 不需要重启时时生效
至此,CentOS配置NFS服务器教程完成
如利用与session共享,则要修改php.ini 中session.save_path="/data/osyunwei" 或PHP代码中session_save_path("/data/osyunwei");