使用 Python (最简单,推荐快速使用)
如果你的 Linux 系统上安装了 Python (现在绝大多数系统都预装了 Python 3),这是最快的方法。

指定目录启动
打开终端,cd 到你想要共享的目录,然后运行以下命令:
# Python 3 python3 -m http.server 8000 # Python 2 (如果系统只有旧版 Python) # python -m SimpleHTTPServer 8000
python3 -m http.server: 使用 Python 3 内置的 HTTP 服务器模块。8000: 是端口号,你可以改成任何你喜欢的未被占用的端口(8080, 8888 等)。
绑定到所有网络接口
默认情况下,服务器只监听 0.0.1 (本地回环),这意味着只有你自己的电脑可以访问,要让局域网内的其他设备也能访问,需要绑定到所有接口 (0.0.0):
python3 -m http.server 8000 --bind 0.0.0.0
如何访问?
- 本机访问: 打开浏览器,访问
http://localhost:8000或http://127.0.0.1:8000。 - 局域网访问: 从同一局域网内的另一台设备(手机、电脑)上,访问服务器的 IP 地址,你可以通过在终端运行
ip a或ifconfig命令来找到你的 Linux 机的 IP 地址,如果 IP 是168.1.100,就在另一台设备上访问http://192.168.1.100:8000。
优点:
- 无需安装任何额外软件。
- 命令简单,一行搞定。
- 适合临时、快速地共享文件。
缺点:

- 功能非常基础,没有用户认证、日志等。
- 性能有限,不适合高并发或大流量。
- 安全性较低,会将目录下的所有文件都暴露出去。
使用 Nginx (功能强大,生产环境推荐)
Nginx 是一个极其流行、高性能的反向代理和 Web 服务器,如果你需要更稳定、更安全、功能更丰富的服务,Nginx 是最佳选择。
安装 Nginx
根据你的 Linux 发行版选择命令:
Debian / Ubuntu:
sudo apt update sudo apt install nginx
CentOS / RHEL / Fedora:

sudo yum install epel-release # 对于 CentOS/RHEL 7/8 sudo yum install nginx # 或者对于 dnf sudo dnf install nginx
配置 Nginx
Nginx 的配置文件在 /etc/nginx/ 目录下,我们通常在 sites-available/ 目录下创建新的站点配置,然后通过 sites-enabled/ 目录来启用它。
-
创建一个新的配置文件,
/etc/nginx/sites-available/share:sudo nano /etc/nginx/sites-available/share
-
在文件中添加以下内容,将
/path/to/your/share/folder替换为你要共享的实际目录路径。server { listen 80; # 监听 80 端口,HTTP 标准端口 listen [::]:80; # 监听 IPv6 server_name _; # 接受所有域名 root /path/to/your/share/folder; # 指定文件根目录 autoindex on; # 开启目录列表功能,类似于 Python 服务器 autoindex_exact_size off; # 显示文件大小为 KB, MB, GB 格式 autoindex_localtime on; # 显示文件本地时间 # 可选:添加基本认证,保护你的目录 # auth_basic "Restricted Area"; # auth_basic_user_file /etc/nginx/.htpasswd; } -
创建符号链接以启用这个站点配置:
sudo ln -s /etc/nginx/sites-available/share /etc/nginx/sites-enabled/
-
测试配置文件是否有语法错误,然后重新加载 Nginx:
sudo nginx -t sudo systemctl reload nginx
如何访问?
直接在浏览器中访问服务器的 IP 地址或域名即可,http://192.168.1.100,Nginx 会自动列出 /path/to/your/share/folder 目录下的文件和文件夹。
优点:
- 高性能:可以处理大量并发请求。
- 功能丰富:支持反向代理、负载均衡、SSL/TLS (HTTPS)、虚拟主机等。
- 高度可配置:可以非常精细地控制访问权限、日志记录等。
- 稳定可靠:被广泛用于生产环境。
缺点:
- 配置比 Python 方法复杂,需要学习 Nginx 的配置语法。
- 需要单独安装。
使用 Samba (用于局域网文件共享)
如果你的目标是让局域网内的 Windows、macOS 和 Linux 设备都能像访问网络共享盘一样访问文件,Samba 是最佳选择,它实现了 SMB/CIFS 协议,是跨平台文件共享的事实标准。
安装 Samba
sudo apt install samba # Debian/Ubuntu sudo yum install samba # CentOS/RHEL
创建共享目录并设置权限
sudo mkdir -p /srv/samba/share sudo chmod -R 0775 /srv/samba/share sudo chown -R nobody:nogroup /srv/samba/share
配置 Samba
编辑 Samba 的主配置文件:
sudo nano /etc/samba/smb.conf
在文件末尾添加如下配置:
[share]
comment = Public Share
path = /srv/samba/share
browsable = yes
guest ok = yes
read only = no
create mask = 0664
directory mask = 0775
[share]: 这是你在网络邻居中看到的共享名称。path: 共享的目录路径。guest ok = yes: 允许客人访问,无需密码。(不安全!)read only = no: 允许写入。
设置密码(可选,但推荐)
如果你不希望是公开共享,可以创建一个 Samba 用户(这个用户必须是系统用户):
# 创建一个系统用户(如果还没有) sudo useradd -s /sbin/nologin smbuser # 为这个用户设置 Samba 密码 sudo smbpasswd -a smbuser
然后将配置文件中的 guest ok = yes 改为 guest ok = no。
启动 Samba 服务
sudo systemctl enable smbd nmbd sudo systemctl start smbd nmbd
如何访问?
- Windows: 在文件资源管理器的地址栏输入
\\192.168.1.100\share。 - macOS: 在“前往”菜单中选择“连接服务器”,输入
smb://192.168.1.100/share。 - Linux: 在文件管理器的地址栏输入
smb://192.168.1.100/share。
优点:
- 无缝集成:Windows 和 macOS 可以像访问本地盘一样访问。
- 用户认证:可以精细地控制每个用户的访问权限。
- 专为文件共享优化。
缺点:
- 主要用于局域网,不适合公网访问。
- 配置比 Python 复杂。
总结与选择
| 方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| Python | 临时、快速、个人使用,无需安装 | 一行命令,极其简单 | 功能少,性能低,安全性差 |
| Nginx | 长期、稳定、功能丰富的服务,特别是公网或生产环境 | 高性能,功能强大,稳定,安全,可配置性高 | 需要安装,配置相对复杂 |
| Samba | 局域网内与 Windows、macOS 等设备无缝共享文件 | 跨平台支持好,用户权限管理完善 | 主要用于内网,配置较复杂 |
如何选择?
- 只想临时给同事传个文件,或者自己快速测试一下? -> 用 Python。
- 你想搭建一个长期的、公开的下载站,或者需要 HTTPS、用户认证等高级功能? -> 用 Nginx。
- 你想让办公室的所有人(包括 Windows 用户)都能像访问网络盘一样访问一个共享文件夹? -> 用 Samba。
