您的位置:首页 > 其它

利用NFS做session共享或图片附件等共享

2013-09-02 17:45 267 查看
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");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: