Advanced Usage: Admin Server
管理服务器允许 HHVM 服务的管理员查询和控制 HHVM 服务进程。它和使用 -m server
或者 -m daemon
指定的 HHVM 主服务是不一样的,而且是独立分开的。
要启动管理服务器,你可以在命令行通过 -d
或者在 server.ini
(或其他等同的配置文件) 中指定以下选项:
hhvm.admin_server.port=9001
hhvm.admin_server.password=SomePassword
端口
可以是任何开放的端口。而且你应该指定一个密码来保护管理端口,因为你不希望任何人都能控制你的服务器。实际上,你可能想把管理服务器放在防火墙监管下,那么你需要在每次请求管理端口时指定密码。
管理服务器与主服务器使用相同的协议 - 因此,如果你使用 FastCGI 模式,管理服务器也将是 FastCGI,你需要另外配置一个 web 服务器(如 NGINX)。如果你使用的是 Proxygen 模式,管理服务器将是一个 HTTP 服务器。
查询管理服务器
一旦你设置好了管理服务器,你就可以通过 curl
来查询它。
curl http://localhost:9001/
这个命令会显示一个你可以用来控制和查询管理服务器的命令列表。
如果你使用的是 Proxygen,那么与 curl
命令相关联的端口就是上文设置的 hhvm.admin_server
端口,*如果你使用的是 FastCGI*,那么这个端口就是 FastCGI 的web 服务端口。
发送命令
使用上文中带有 curl
的指令,加上你的密码,向管理服务器发送命令。
curl http://localhost:9001/compiler-id?auth=SomePassword
进一步参考
这里有一篇好的博客文章更进一步讨论了管理服务器。
本节由 Evilran 翻译