WordPress + Nginx + HHVM

Today I played around with installing WordPress 3.9 on Nginx at DigitalOcean and was amazed at how easy it really was. It was so easy that I decided to also install HHVM. I’m not going to go into every detail since I mostly just used already existing tutorials that I combined.

  1. Create a droplet
    1. Pick any size, I chose a 1GB because I wanted to compare it with an already existing site I had running up there.
    2. For Linux distributions, pick Ubuntu 14.04 x64
      1. The 64-bit version is very important for HHVM since they have no plans on ever supporting a 32-bit OS


  2. Setup a non-root account.
  3. Update everything
    1. sudo apt-get update
      sudo apt-get upgrade
  4. Install Nginx
  5. Install HHVM
    1. That post is for Ubuntu 13 so you need to use the code below (which also assumes you are not running as root)
      wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add -
      echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list
      sudo apt-get update
      sudo apt-get install hhvm
    2. Assuming that you are not running as root you’ll need to sudo this command towards the bottom instead:
      sudo /usr/share/hhvm/install_fastcgi.sh
  6. Install WordPress
  7. You’ll probably have to change some permissions so that you can upload and delete things:
    sudo find /var/www/html -type d -exec chown www-data:www-data {} \;
    sudo find /var/www/html -type f -exec chown www-data:www-data {} \;
  8. This next one is optional but if your permissions ever get out of whack for some reason you can reapply them:
    sudo find /var/www/html -type f -exec chmod 644 {} \;
    sudo find /var/www/html -type d -exec chmod 755 {} \;

4 thoughts on “WordPress + Nginx + HHVM

  1. You can get 1.7.1 by running these commands:

    sudo apt-add-repository ppa:nginx/development
    sudo apt-get update

    I haven’t tested this with everything else for stability, however. I’m not quite sure where to get 1.7.3 from.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.