Hiphop has a built-in admin server that has a lot of useful functions. I found out about it on an old post on the Hiphop blog.
Since those times Hiphop has moved towards using an ini file instead of a config.hdf file.
On a standard prebuilt HHVM on Ubuntu you should find the ini file in /etc/hhvm/php.ini
Facebook maintains a list of all the ini settings on Github.
It is into this file that we add two lines to enable the admin server:
I then added a server to Nginx by creating this file: /etc/nginx/conf.d/admin.conf (by default Nginx includes all conf files in that directory):
Now I can run curl 'http://localhost:8889' from my shell on the box to get a list of commands. Because I host this project with Amazon and have not set up a security rule the port/server are not available to the outside world. You may want to check your firewall rules on your server.
To run a command add the password as a get variable:
Since those times Hiphop has moved towards using an ini file instead of a config.hdf file.
On a standard prebuilt HHVM on Ubuntu you should find the ini file in /etc/hhvm/php.ini
Facebook maintains a list of all the ini settings on Github.
It is into this file that we add two lines to enable the admin server:
hhvm.admin_server.password = SecretPassword
hhvm.admin_server.port = 8888
I then added a server to Nginx by creating this file: /etc/nginx/conf.d/admin.conf (by default Nginx includes all conf files in that directory):
server {
# hhvm admin
listen 8889;
location ~ {
fastcgi_pass 127.0.0.1:8888;
include fastcgi_params;
}
}
Now I can run curl 'http://localhost:8889' from my shell on the box to get a list of commands. Because I host this project with Amazon and have not set up a security rule the port/server are not available to the outside world. You may want to check your firewall rules on your server.
To run a command add the password as a get variable:
curl 'http://localhost:8889/check-health?auth=SecretPassword'
Comments
Post a Comment