美文网首页程序员
NFS在web服务器中应用

NFS在web服务器中应用

作者: 相信奇迹德人 | 来源:发表于2021-01-04 12:13 被阅读0次

    1.1 NFS在网站上的应用

    1.1.1 应用环境

    场景1

    用户A上传了一张图片,由于web服务器同步不及时或出现故障

    此时B用户访问此图片时,有可能被分配去访问web2或web3,结果无法看到A用户上传的图片


    www1.png

    场景2

    用户A上传了一张图片,此图片存储在后端共享存储上

    此时用户B访问此图片时,不管时访问web或web3,结果都是可以看到A用户上传的图片

    www2.png

    1.1.2 NFS实现场景2中的共享存储

    生产环境中的要求

    1. 共享存储中用户数据的安全性
    • NFS服务器 都创建一个www账户(确保客户端www 服务端用户 uid数值一致)
    • NFS服务器中web共享存储目录权限设置成www
    • 配置no_all_squash www----->www 用户身份不转换 , www用户直接访问web共享存储目录(只有www用户有权限管保证了数据的安全性)
    1. 共享目录的管理
    • NFS存储服务器生产环境中存储很多数据并不是所有人都有权限访问,

    • web服务器中的root需要管理web共享存储目录

    • 配置root_squash root---->nfsnobody root用户转换成了nfsnobody 没有权限访问web共享存储目录

    • 修改anonuid=1005,anongid=1005 可以将root 转换成NFS服务器中的www用户就可以对web共享存储目录进行管理

    1. 查看nfs服务的默认配置

      [root@ www]# cat /var/lib/nfs/etab --- 记录nfs服务的默认配置记录信息
      /data/www 172.17.1.101(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

    NFS在web应用中的实现过程

    #-----------NFS即场景2中共享存储服务器-----------
    
    #step1  安装nfs和rpc
    rpm -qa|grep -E "nfs|rpc"
    yum install -y nfs-utils rpcbind
    
    #step2  编辑nfs配置文件
    [root@ ~]# cat<<-EOF > /etc/exports
    /data/ 172.17.1.101(rw,root_squash,no_all_squash,anonuid=1005,anongid=1005)
    /data/ 172.17.1.101(rw,root_squash,no_all_squash,anonuid=1005,anongid=1005)
    /data/ 172.17.1.101(rw,root_squash,no_all_squash,anonuid=1005,anongid=1005)
    EOF
    
    #step3 创建共享存储目录
    mkdir /data/www
    
    #step4 创建www虚拟用户 id未被使用(用户名和id与web服务器一致)
    useradd -u 1005  -s /sbin/nologin www
    
    #step5 将共享存储目录属主属组改成www
    chown www. /data/www
    
    #step6 启动服务
    #启动 rpc服务
    systemctl start rpcbind.service 
    systemctl enable rpcbind.service
    #再启动 nfs服务
    systemctl start nfs
    systemctl enable nfs
    
    #-----------场景2中web服务器的配置-----------
    #三个服务器中的配置都是相同的
    
    #step1 安装nfs 提供网络文件系统
    yum -y install nfs-utils
    
    #step2 创建www虚拟用户 与NFS服务器上的www用户id一致 (用户名和id与NFS服务器一致)
    useradd -u 1005  -s /sbin/nologin www
    
    #step3 挂载网络存储目录到 /var/www
    mount -t nfs 172.17.1.105:/data/www /var/www
    

    相关文章

      网友评论

        本文标题:NFS在web服务器中应用

        本文链接:https://www.haomeiwen.com/subject/himmoktx.html