static-web-server
SHA-256一款轻量、高性能的静态文件服务器,基于 Rust 开发,单二进制无依赖,支持 HTTP/2、压缩、安全头等现代特性。
极速静态文件服务,单文件部署,资源占用极低。
核心功能
- 单二进制文件,仅 4MB,无需任何依赖,即下即用
- 基于 Rust 异步运行时,性能极强且内存安全
- 支持 HTTP/1、HTTP/2 和 TLS,开箱即用
- 可选 Gzip、Brotli、Zstd 压缩,按需开启
- 自动守护目录列表,支持排序和 JSON 输出
避坑指南
- •SWS 专注于静态文件服务,不适用于需要后端动态内容生成的场景(如 PHP、Node.js 等),日志功能较简洁,高级日志格式或远程日志需自行扩展,默认不启用 TLS,如需 HTTPS 需要自行提供证书并配置 `--tls-cert` `--tls-key` 参数,Windows 服务功能需要使用 `--windows-service` 参数,且需以管理员权限运行
适用场景
- 快速搭建个人或公司静态网站,如博客、文档站、产品页
- 作为单页应用(SPA)的开发或生产服务器,配合 404 回退
- 用于微服务架构中提供静态资源文件,如图片、CSS/JS 包
- 在 Docker、Kubernetes 中作为极简的静态文件服务镜像
- 作为 API 文档或离线手册的本地浏览器服务器
详细介绍
Static Web Server (SWS) 是一款基于 Rust 编写的跨平台、高性能静态文件服务器。它专为服务静态网页和资产而设计,底层使用 Hyper 和 Tokio 异步运行时,实现了极致的处理速度与低资源占用。SWS 打包为一个仅 4MB 的静态二进制文件(基于 Musl libc),无需任何外部依赖,可轻松部署在任何 Linux 发行版或 Docker 容器中。支持 HTTP/2 与 TLS、Gzip/Brotli/Zstd 压缩、Cache-Control 缓存控制、CORS 跨域、目录列表、虚拟主机、URL 重写、基本认证、健康检查端点、Prometheus 指标等功能。配置方式灵活多样,可通过命令行参数、环境变量或 TOML 文件进行设置。SWS 非常适合用于搭建静态网站、单页应用(SPA)、API 文档或作为轻量级开发服务器。
常见问题与排障 (2)
故障排除为什么Static Web Server忽略子目录中index.html文件的Cache-Control头?
这是版本2.40.1中一个已知的回归问题,使用类似'**/*.html'的glob模式的高级头规则不适用于目录索引文件(例如,请求'/about'时对应的'/about/index.html')。该bug已在PR #613中修复。请使用最新的开发版Docker镜像(例如'joseluisq/static-web-server:devel'),或者升级到包含该修复的已发布版本。
故障排除如何修复在Alpine/BusyBox上运行static-web-server安装程序时出现的'cp: unrecognized option: x'错误?
此错误是因为BusyBox的cp命令不支持-x标志。该问题已在安装脚本中修复(PRs #610 和 #611)。请使用来自 https://get.static-web-server.net 的最新安装程序,该程序已将cp替换为install命令,并移除了对sudo的要求。对于Docker,请在不使用缓存的情况下重建镜像,或拉取更新后的脚本。若无法立即升级,请手动将二进制文件复制到目标路径,并避免使用不支持的标志。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
从 GitHub Releases 下载对应平台的二进制文件(或使用 Docker 镜像 joseluisq/static-web-server)
解压后,直接运行:`./static-web-server --port 8080 --root ./my-site`
浏览器打开 http://localhost:8080 即可看到站点内容
- 从 GitHub Releases 下载对应平台的二进制文件(或使用 Docker 镜像 joseluisq/static-web-server)
- 解压后,直接运行:`./static-web-server --port 8080 --root ./my-site`
- 浏览器打开 http://localhost:8080 即可看到站点内容
已提供 SHA-256 校验码,下载后可自行核对文件完整性
该校验码提取自 GitHub 官方 Release 页面
SHA256 校验码
ed32ff29cdcafb37b5cc4efa89147918bc837fbe308a2a6c438c8b9047b71956该校验码提取自 GitHub Release 页面,下载后请自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
直接删除下载的二进制文件或 Docker 镜像即可,无任何残留。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
2 FAQs