Home >Operation and Maintenance >Nginx >How to build NFS server with nginx

How to build NFS server with nginx

PHPz
PHPzforward
2023-05-23 12:55:211347browse

    Introduction

    What is nfs server?

    NFS (Network File System) is a network file system. Its biggest function is that it can Through the network, different machines and different operating systems can share each other's files, and users can access files elsewhere on the network just like using their own computers.

    Why nfs server is needed

    Get data from the same place to ensure the consistency of website data. No matter which back-end server the load balancer distributes the request to, the content seen by the client are consistent.

    Is nfs server the best solution

    No, nfs is a relatively cheap solution 1. Generally, companies will not use it. The performance is not particularly high. It is recommended to use a dedicated storage server. .

    Advantages and disadvantages of nfs

    Advantages: Any Linux server can be built, the cost is very low, and it is very easy to build
    Disadvantages: Reading speed is limited, related to network quality, disk IO, CPU, memory and other factors, and traditional tcp/ip network transmission.

    Storage server

    Advantages: good read and write performance, disaster recovery
    Disadvantages: high cost

    RPC

    NFS supports quite a lot of functions, and different functions will use different programs to start. Each time a function is started, some ports will be enabled to transmit data. Therefore, the ports corresponding to the NFS functions are not fixed. At this time, you need to RPC binding

    The main function of RPC is to specify the port corresponding to each NFS function.

    Build NFS server

    Prepare a centos7.9 server (192.168 .2.58)
    A client (192.168.2.218)

    Install nfs

    Server machine

    yum install nfs-utils -y
    service nfs-server start #启动nfs服务
    ps aux |grep nfs #查看nfs进程
    ss -anplut|grep rpc
    vim /etc/exports
    /web 192.168.2.0/24(rw,all_squash,sync)

    rw: read and write
    sync: Synchronously refresh to disk when writing to memory
    all_squash: UID and GID of shared files map anonymous users (ordinary users).
    aysnc: No real-time synchronization, high response rate, but dangerous.

    mkdir /web
    vim /web/index.html
    #添加一些内容,退出并保存
    >wyt #我就添加了wyt,退出并保存
    exportfs -rv #刷新输出(类似刷新服务)

    Pay attention to turning off the firewall and selinux

    Client

    yum install nfs-utils -y
    showmount -e 192.168.2.58 #查询nfs服务器共享的文件夹
    mkdir /web #客户机新建文件夹
    mount 192.168.2.58:/web /web 将nfs服务器上的/web目录挂载到本地的/web目录
    ls /web #可以查看到nfs服务器的index.html,挂载后没有写的权限所以需要客户机给文件的权限
    df -Th

    How to build NFS server with nginx

    Permissions are restricted by two permissions

    • File system permissions

    • Sharing permissions

    ##The sharing permissions have been turned on, so the server needs to authorize the file Permission

    chmod a+w /web  #/web所有人写的权限

    As long as the server's index.html is mounted to the html under nginx, writing operations under the web can be achieved.

    mount 192.168.2.58:/web /usr/local/scwangyutao99/html/

    How to build NFS server with nginx

    Mount

    Mount (mount): In fact, it is equivalent to plugging in an external U disk or mobile hard disk. umount is equivalent to ejecting a USB flash drive.

    umount /usr/local/scwangyutao99/html/
    #umount.nfs4: /web: device is busy 是因为当前在目录之下

    Display the previous web page after umount

    How to build NFS server with nginx

    Set automatic mounting at boot

    /etc/rc.local

    sed -i '$a mount 192.168.2.58:/web  /usr/local/scwangyutao99/html/' /etc/rc.local 
    chmod  +x /etc/rc.d/rc.local #赋予可执行权限

    Modify the /etc/fstab file

    /etc/fstab is the Linux system that automatically mounts the disk partition based on the contents of this file after booting

    The first column is Device

    Second column Mount point, the mount point of the device.
    The third column filesystem, the format of the disk file system, including ext2, ext3, reiserfs, nfs, vfat, etc.
    The fourth column: file system parameters, defaults
    The fifth column: whether it can be dumped Backup command function. 0 means not to do dump backup
    1 means to perform dump operation every day, 2 means to perform dump operation on an irregular date
    The sixth column: whether to check the sector, 0 does not check, 1 checks at the earliest (generally the root directory will Select)
    2, conduct inspection after completion of level 1 inspection

    sed -i '$a 192.168.2.58:/web /usr/local/scwangyutao99/html/ nfs defaults 0 0' /etc/fstab

    The above is the detailed content of How to build NFS server with nginx. For more information, please follow other related articles on the PHP Chinese website!

    Statement:
    This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete