reactphp-x / static-server
Static file server CLI powered by reactphp-x/framework (start/stop/daemon, port configurable).
dev-master
2026-08-20 23:52 UTC
Requires
- php: >=8.1
- reactphp-x/framework: dev-master
Requires (Dev)
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2026-08-20 23:52:33 UTC
README
基于 reactphp-x/framework 的静态文件服务 CLI,可在任意目录(如前端 dist/)直接启动、停止、守护进程运行。
安装
composer global require reactphp-x/static-server
确保 Composer 全局 bin 目录在 PATH 中。
本地开发(path 仓库):
cd /path/to/static-server
composer install
composer link --global
用法
在要托管的目录中执行(例如 Vite 构建产物 dist/):
cd /path/to/dist # 前台调试 rx-serve start # 守护进程(关闭终端仍可访问) rx-serve start -d # 指定端口和监听地址 rx-serve start -d --port 4173 --host 0.0.0.0 # 停止 / 状态 / 重载 rx-serve stop rx-serve status rx-serve reload
命令与 reactphp-x/worker 一致,支持 start、stop、restart、reload、status 等。
配置
当前目录可选 .env 文件:
HTTP_LISTEN=0.0.0.0:4173 HTTP_WORKERS=1 HTTP_ACCESS_LOG=/path/to/reactphp-x-static-server.access.log
CLI 参数 --host、--port / -p、--workers 会覆盖 .env 中的默认值。
请求日志
每个 HTTP 请求会写入 access log(默认当前目录 reactphp-x-static-server.access.log),格式与 Framework X 一致:
127.0.0.1 "GET /assets/app.js HTTP/1.1" 200 18 0.001
可通过 .env 中的 HTTP_ACCESS_LOG 指定绝对路径。
文件缓存
静态资源响应带 Last-Modified 头;客户端发送匹配的 If-Modified-Since 时返回 304 Not Modified,不再读取文件内容(与 Framework X FilesystemHandler 行为一致)。
运行文件
进程 PID、状态与日志写入当前工作目录:
reactphp-x-static-server.pidreactphp-x-static-server.statusreactphp-x-static-server.logreactphp-x-static-server.access.log
要求
- PHP 8.1+
pcntl、posix扩展- Linux / macOS(不支持 Windows worker 模式)