插件窝 干货文章 nginx如何搭建NFS服务器

nginx如何搭建NFS服务器

NFS 服务器 sudo Nginx 211    来源:    2025-04-22

Nginx 本身并不能直接搭建 NFS (Network File System) 服务器,因为 Nginx 是一个 Web 服务器/反向代理服务器,而 NFS 是 Linux/Unix 系统的文件共享协议。不过您可以通过以下两种方案实现类似功能:


方案一:使用系统原生NFS服务(推荐)

这是标准的NFS服务器搭建方式:

1. 在服务端安装NFS服务

# Ubuntu/Debian
sudo apt update
sudo apt install nfs-kernel-server

# CentOS/RHEL
sudo yum install nfs-utils

2. 创建共享目录并设置权限

sudo mkdir /data/nfs_share
sudo chown nobody:nogroup /data/nfs_share  # 设置匿名权限
sudo chmod 777 /data/nfs_share             # 测试时可放宽权限

3. 配置NFS导出目录

编辑 /etc/exports 文件:

/data/nfs_share *(rw,sync,no_subtree_check,no_root_squash)

*表示允许所有IP访问,生产环境请替换为具体客户端IP)

4. 启动NFS服务

# Ubuntu/Debian
sudo systemctl restart nfs-kernel-server

# CentOS/RHEL
sudo systemctl enable --now nfs-server

5. 客户端挂载

在客户端机器执行:

sudo mount -t nfs <服务器IP>:/data/nfs_share /mnt/nfs

方案二:Nginx作为文件下载服务器(替代方案)

如果只是需要简单的文件共享(非NFS协议),可以用Nginx搭建HTTP文件服务器:

1. 配置Nginx

server {
    listen 80;
    server_name fileserver.example.com;

    location /downloads {
        alias /data/nfs_share;
        autoindex on;  # 启用目录列表
        charset utf-8;
    }
}

2. 设置目录权限

sudo chown -R www-data:www-data /data/nfs_share
sudo chmod -R 755 /data/nfs_share

3. 重启Nginx

sudo systemctl restart nginx

用户可通过 http://fileserver.example.com/downloads 访问文件。


关键区别

特性 NFS服务器 Nginx文件服务器
协议 NFS(内核级高性能) HTTP/HTTPS
适用场景 Linux系统间共享 跨平台文件下载
客户端要求 需要支持NFS挂载 只需浏览器或wget/curl
权限控制 系统用户权限 基础HTTP认证

如果是Linux系统间共享,强烈建议使用原生NFS服务;如果需要跨平台或互联网访问,再用Nginx方案。