Recommended VPS Complete list of best VPS hosting providers.

How to Install Nginx, HHVM and MySQL on Ubuntu 15.04 (LNMH Stack)


We knew and heard a lot about LAMP and LNMP, but what about LNMH stack? Wait what? Where is the P part that stands for PHP? Where does it go and what is the H part there? Meet HHVM, an open-source virtual machine designed for executing programs written in Hack and PHP. Early, HHVM is developed by Facebook because the regular Zend+Apache combination is not as efficient to serve large applications built in PHP. It performs very well and proven serving over a 9x increase in web request throughput and over a 5x reduction in memory consumption for Facebook compared with the Zend PHP engine + APC. Shortly saying, HipHop Virtual Machine (HHVM) is a virtual machine developed and open sourced by Facebook to process and execute programs and scripts written in PHP and Hack language. HHVM can be used together with a FastCGI-based webserver like nginx or apache.

In this article, we’ll try to learn how to install Nginx web server, MySQL and HHVM on Ubuntu 15.04 VPS which then we can install WordPress to run on it. A tutorial with pictures.


  1. A server (vps, cloud, dedicated) running Ubuntu 15.04 Vivid Vervet x64. For your information, HHVM doesn’t support any 32 bit operating system and they have no plans to add support for 32 bit operating systems. In this guide I use a droplet from Digital Ocean with 1GB RAM that costs $10/month but for this tutorial I spent only $0.030 (2 hours). That’s what I like from DO as they charge hourly so I can simply create a server and destroy it every time I want to write a tutorial or test something. You can see my setup to create a droplet at DO here.
  2. Some basic knowledge of common Unix command.
  3. Some basic knowledge about Putty (Window) or Terminal (Linux).
  4. A cup of coffee or tea.

How to Install Nginx

Step 1 – Login to your server as root or as a user with root privilege (sudo). If you are using a VPS from DO, you should be also asked to change given root password.


Step 2 -Update all packages and dependencies of your VPS with this magic command:

apt-get update && apt-get upgrade -y

screenshot pic:


Step 3 – Issue this command to install Nginx on your Ubuntu 15.04 vps easily:

apt-get install nginx -y

It looks similar like this:


How to Install MySQL

Step 1 – So you have Nginx installed as web server. Now you can proceed to install MySQL database server which is generally needed by many scripts / apps including WordPress and Joomla. Issue this command:

apt-get install mysql-server -y

The installation should be done in seconds:


Step 2 – Once installed, you will then need to setup basic MySQL configuration including to create new password for MySQL root user.


screenshot (click it to see larger version):


How to Install HHVM

Step 1 – So you have Nginx and MySQL in place. Now let’s enter to the main menu which is to install HHVM on your vps. But firstly you have to issue several commands to download the required HHVM package.

apt-key adv --recv-keys --keyserver hkp:// 0x5a16e7281be7a449
add-apt-repository 'deb vivid main'



Step 2 – Do apt-get update so the new repository can be applied:

apt-get update -y

it looks like this:


Step 3 – Finally use this command to install HHVM on your VPS:

apt-get install hhvm -y

the process should finish in seconds:


If the process gone well, you should also see this welcome message:


Step 4 – Now you have to run the install script that will install HHVM module for Nginx. Issue this command:


you’ll see something like this:


Configure Nginx Virtual Host for HHVM

Step 5 – Assuming you want to add new website called, so create new virtual host file. You can use any text editor but in my guide I use Nano:

nano /etc/nginx/sites-available/

Step 6 – Then copy paste this configuration there:

server {
  listen 80;
    include hhvm.conf;

    access_log   /var/log/nginx/access.log;
    error_log    /var/log/nginx/error.log;

    root /var/www/;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args; 

Once done editing, simply Save and Exit the editor which is in Nano: Control+O then Control+X.


Step 7 – Now create your web directory and do some chmod and chown-ing stuff:

mkdir -p /var/www/
chmod -R 755 /var/www/
chown -R www-data:www-data /var/www/



Step 8 – Now enable your newly created virtual hosts file by linking it:

ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/

Step 9 – Finally restart Nginx and HHVM:

service nginx restart
service hhvm restart



Step 10 – Now give it a test, create a test.php file to confirm if HHVM is running and working:

nano /var/www/

then put this in that file:

echo  defined('HHVM_VERSION')?'HHVM is up and working':'Sorry Not using HHVM';



Hit Control+O to save then Control+X to exit the editor.

Step 11 – Now open up your browser and open the newly created HHVM test file and Voila!!


That’s it and congratulation you now have HHVM running on your vps and is capable to serve PHP scripts much more faster and efficient plus Nginx on top of that so your website will now faster.


Add a Comment

Your email address will not be published. Required fields are marked *

Get more stuff like this
in your inbox

Subscribe and get interesting stuff plus faster updates to your email.