reactphp-x/static-server

Static file server CLI powered by reactphp-x/framework (start/stop/daemon, port configurable).

Maintainers

Package info

github.com/reactphp-x/static-server

pkg:composer/reactphp-x/static-server

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-master 2026-08-20 23:52 UTC

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 一致,支持 startstoprestartreloadstatus 等。

配置

当前目录可选 .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.pid
  • reactphp-x-static-server.status
  • reactphp-x-static-server.log
  • reactphp-x-static-server.access.log

要求

  • PHP 8.1+
  • pcntlposix 扩展
  • Linux / macOS(不支持 Windows worker 模式)