介绍
simple-http-server 是一款基于 Rust 开发的轻量级跨平台静态文件服务器,支持目录浏览、文件上传、HTTPS 等功能,适合本地开发调试、局域网文件共享和快速静态站点部署。
一、核心特性
- 跨平台:支持 Windows、macOS、Linux
- 零配置:一条命令启动,支持目录浏览与面包屑导航
- 功能丰富:Gzip 压缩、HTTPS、HTTP 基本认证、文件上传、单页应用重写
- 性能可靠:多线程支持,内存占用低,兼容 HTTP 缓存与断点续传
二、安装方式
1. 下载预编译二进制(无需 Rust)
从 GitHub 发布页 下载对应系统的二进制文件,解压后可直接使用,建议添加到系统 PATH 以全局调用。
2. 安装 Rust 环境(推荐)
# 安装 Rust(国内可使用中科大镜像加速)
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable
# 配置环境变量(重启终端或执行)
source $HOME/.cargo/env
安装 simple-http-server
# 从 crates.io 安装
cargo install simple-http-server
# 验证安装
simple-http-server --help
三、快速上手
1. 基础启动
# 进入要共享的目录
cd /path/to/your/files
# 启动服务(默认端口 8000,绑定 0.0.0.0)
simple-http-server
访问地址:http://本机IP:8000,可浏览并下载目录中的所有文件。
2. 常用自定义启动命令
| 需求 | 命令 | 说明 |
|---|---|---|
| 指定端口 | simple-http-server -p 8080 |
监听 8080 端口 |
| 指定绑定地址 | simple-http-server --ip 127.0.0.1 |
仅本地访问,更安全 |
| 启用 index.html | simple-http-server -i |
优先访问目录下的 index.html |
| 服务指定目录 | simple-http-server /path/to/root |
以指定目录为根目录 |
| 后台运行 | nohup simple-http-server -p 80 & |
关闭终端后仍运行,日志输出到 nohup.out |
四、进阶用法
1. 性能优化
# 启用 Gzip 压缩(针对指定类型)
simple-http-server --compress=js,css,html,json
# 调整线程数(默认 3 线程)
simple-http-server -t 8
# 禁用缓存(适合开发调试)
simple-http-server --nocache
压缩可减少约 60% 传输体积,提升大文件加载速度。
2. 安全配置
# 启用 HTTP 基本认证
simple-http-server --auth username:password
# 启用 HTTPS(需 PKCS#12 格式证书)
simple-http-server --cert /path/to/cert.p12 --certpass 证书密码
# 启用 CORS(允许跨域请求)
simple-http-server --cors
⚠️ 认证仅适用于测试环境,生产环境建议使用更安全的鉴权方案。
3. 单页应用支持
# 缺失文件时重写到 index.html(适合 Vue/React 等 SPA)
simple-http-server --try-file index.html
4. 文件上传
# 启用文件上传(默认大小限制 8MB)
simple-http-server --upload
# 自定义上传大小限制(单位:字节)
simple-http-server --upload-size-limit 10485760 # 10MB
启用后需携带 CSRF Token 上传,保障安全性。
五、完整示例组合
# 生产级配置:后台运行、指定端口、启用 index、HTTPS、认证、压缩
nohup simple-html-server \
-p 443 \
-i \
--cert /etc/ssl/certs/server.p12 \
--certpass your-cert-pass \
--auth admin:123456 \
--compress=js,css,html \
/var/www/html &
六、常见问题与注意事项
- 端口占用:若端口被占用,更换
-p参数指定其他端口 - 权限问题:确保服务目录有可读权限,上传目录需可写
- 安全提醒:禁止在生产环境直接暴露未认证的 simple-http-server,存在未授权访问风险
- 版本更新:定期执行
cargo install --force simple-http-server更新至最新版
七、命令速查
simple-http-server --help # 查看完整帮助
simple-http-server --version # 查看版本
simple-http-server --silent # 静默模式,不输出日志
simple-http-server --nosort # 禁用目录排序