Skip to content


  1. Jacques V.
    August 25, 2016 @ 5:50 pm

    Hi Dave, thanks for this awesome post!

    I found a plugin for checking PHP 7 compatibility on your WordPress site:

    Quote from plugin developer: “In most cases, PHP 5.6 code should be able to run on PHP 7 with no issue. Assuming a plugin or theme has correctly hooked into WordPress, backwards compatibility will not be an issue.”


  2. Gavin G.
    August 26, 2016 @ 7:12 am

    Will you reintroduce memcached into your WPI Stack when memcached is fully PHP7 compatible?


    • Dave H.
      August 26, 2016 @ 3:58 pm

      Yes – there are some various attempts at solutions, some of which I’ve tried, none which have worked for me yet. But yes – memcached helps W3 total cache a lot


  3. Emiel
    October 4, 2016 @ 11:43 am

    Hi Dave,

    Thanks for this great tutorial!

    I managed to setup a DO droplet and migrate one of my wordpress site to Digital Ocean with Server Pilot. Also I managed to upgrade succesfully to the Percona DB. Only thing left is configuring Cloudflare and real cron.

    However I like Server Pilot’s services, I was wondering: Do you think it’s possible to get the same stack setup without server Pilot the following way? Would that be the exact same stack? The way I am talking about is this one:

    1. Create DO account
    2. Choose WordPress on 16.04 One-Click App instead of Ubuntu 16.04 on droplet creation
    3. Install NGinx manually using this tutorial:
    4. Upgrade to PerconaDB using this tutorial:

    Really curious what you think of this method and if the result would be the same. Thanks for your reply in advance and keep up the good work!


    • Emiel
      October 4, 2016 @ 1:48 pm

      Also, I got one other question:

      In the domain’s DNS I added a A record to redirect to the DO droplet’s IP. That works all fine.
      After restoring backups on the DO wordpress install using UpdraftPlus, the subdomain’s site ( works immediately: I can login and everything works fine. Also the new subdomain ( is set as the wordpress address (main url) etc. So it seems the domain has been changed to the subdomain automatically already. Is that possible? Does this mean replacing the with using InterConnectit’s tool isn’t necessary anymore?

      Thanks again for your reply already!


      • Dave H.
        November 17, 2016 @ 12:53 pm

        This domain thing DOES happen automatically when using ServerPilot – they have a wildcard to catch the current domain so you don’t need to search/replace


    • Dave H.
      November 17, 2016 @ 12:49 pm

      Yes – it’s possible – I wrote the ServerPilot article to show people how to do it really easily, but personally I prefer to build them manually.

      You can see my full guide for building an awesome stack here manually –


  4. twardy
    October 27, 2016 @ 6:52 pm

    When are you going to update this guide with these extra steps? It would be very helpful. I hope you will find some time.


    • Dave H.
      November 17, 2016 @ 12:53 pm

      Hopefully soon – working very hard trying to get Price Comparison Pro v3 live!


  5. .
    October 31, 2016 @ 10:50 am

    Any update on this?


    • Dave H.
      November 17, 2016 @ 12:55 pm

      I will update soon – I’ve got a couple of very nice things coming in this area to make things far quicker and easier for everyone. One is a pre-built snapshot you can use to build a high-performance droplet, the other is an automatic migration tool to copy your current live site over to a digital ocean high performance config (various options, percona, maria, php7, hhvm etc) so you can test out performance with different setups prior to migration. i.e. the copy will move everything over to and then will automatically measure the page-speed of various pages to show you the speed boost you’re getting. Cool right?


  6. Saeed
    November 3, 2016 @ 12:52 am

    Hi Dave,

    Thanks very much for the step by step tutorial. I have got everything going and set up a test site. Everything looks great and the site loads very quickly. I am getting ready to now move my biggest site.

    I look forward to reading the next few guides you mentioned at the end. Thank you.


  7. Vasil Y.
    November 19, 2016 @ 7:13 pm

    Hey guys, hope you’re enjoying Dave’s awesome tutorial. In case you’re interested in more guides such as this one, have a look at this link:


  8. Ariel
    December 11, 2016 @ 4:52 am

    Hey Dave waiting for this update. I read it back in August and I tried it out. Performance gains were good but I’ve been waiting for the “Full guide” before I pull the trigger on this. I ran into this article again now in Dec and see it’s not been updated yet. Hoping you find the time to update this guide as I’d like to see how much better things can get!


    • Anon
      December 12, 2016 @ 3:50 pm

      Hi – I’ve got an update to this in the works. I’m actually working on something that will make this all much simpler too – it will let you create a snapshot really quickly and then to configure you just enter your domain name and it’ll be done (also point your A record).

      When that comes out, this article will get updated at the same time.


      • Danny
        March 22, 2017 @ 9:30 pm

        I came across your website some time ago and having been following this article with much interest. Like Ariel I’m awaiting an update, so can you give any ETA when the article will get an update?


  9. mcx
    March 24, 2017 @ 12:53 pm

    I am Looking for some expert to serve and Configure Fastest VULTR or CLOUDFLARE VPS but i didnt find any one.. As above guide was awesome but as i am non technical i dont know such commands … please contact if some one know @ [email protected]


    • giorgiok
      June 22, 2017 @ 2:39 pm

      Find these guys are in India also, Contact Virtubox
      I ‘ve set up a fast vps with their stack. If you neet any help you can ask me also.


      • Anon
        June 22, 2017 @ 3:15 pm

        I can’t personally vouch for easyengine but I’ve heard others saying good things


  10. Steve
    June 16, 2017 @ 4:05 pm

    Hi Dave,

    I am going to migrate very soon. Can you update this post so that it uses maria, redis and hhvm ? Vultr might even be better for the RAM it has. Could be used for redis.


  11. Steve
    June 17, 2017 @ 9:54 am

    Are these being updated?
    I’ve got to catch a flight, but I will add the extra stuff to this page including:

    Configuring cloudflare
    Configuring real cron
    Upgrading to PerconaDB
    Additional performance steps you can take to optimise what server pilot give you out the box


  12. Luke Cavanagh
    August 17, 2017 @ 6:58 pm

    ServerPilot is pretty fast but the stack still has Apache in it, with NGNIX out front, rather than going with a LEMP stack.


  13. Luke Cavanagh
    August 17, 2017 @ 7:25 pm


  14. Marcus Q.
    February 19, 2018 @ 3:12 am may also be of interest for a LEMP stack, and if everyone asks them to add PerconaDB as an option that could complete the picture.

    Obviously not backed by a giant like ServerPilot – but in my testing it worked fine with VPS and Bare Metal if you really need that raw power too.



  15. Aleks
    May 22, 2018 @ 3:29 pm

    Yeap, I agree with the rest, this article definitely deserves an applause but also has to be finished. It’s been what a year now? – still no updates about cloudflare + persona DB. I did however find this article here:

    I’m not a developer, I’m only able to blindly follow instructions that’s all. If you could add couple of lines here regarding Persona DB would be awesome. But still, Thanks for the article!!


  16. Max Fein
    June 19, 2018 @ 1:28 am

    So, if you can only follow blindly (in the age of google,stackexchange,etc) then you may be on the wrong path here… but, if you can do a bit of research and want to practice your critical thinking, well, then pls proceed 😉

    re CloudFlare: google it, there are a ton of guides for CF

    re real cron: read some other articles at this site about this relatively simple tweak, google it. (also, for devs, esp if multisite: )

    re PerconaDB: take a look, adapt for percona, try it 🙂

    Cheers, Max


Leave a Reply

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