Install EasyEngine On Ubuntu 18.04 With PHP 7.2

I heard about EasyEngine a while back and since found out about it my hands were itching to try it out and see how is doing.

For the ones that don’t know a lot about EasyEngine what I can tell is that is a platform that is helping in hosting WordPress fast in Docker with SSL and cache. More you can find out on the EasyEngine site.

EasyEngine is used to host about 170.000 live sites at the article write time and is installing everything that you need to have your WordPress site up and running ( well without email or DNS management)

I am using DigitalOcean to have a VPS created with Ubuntu and the first thing was to add swap as explained here.

Updated and upgrade and then reboot the VPS:

apt update
apt upgrade

Install EasyEngine:

--Install easyengine:

wget -qO ee && sudo bash ee

Status: Downloaded newer image for easyengine/redis:v4.0.0
| OS                | Linux 4.18.0-13-generic #14-Ubuntu SMP Wed Dec 5 09:04:24 UTC 2018 x86_64 |
| Shell             | /bin/bash                                                                 |
| PHP binary        | /usr/bin/php7.2                                                           |
| PHP version       |                                     |
| php.ini used      | /etc/php/7.2/cli/php.ini                                                  |
| EE root dir       | phar://ee.phar                                                            |
| EE vendor dir     | phar://ee.phar/vendor                                                     |
| EE phar path      | /root                                                                     |
| EE packages dir   |                                                                           |
| EE global config  | /opt/easyengine/config/config.yml                                         |
| EE project config |                                                                           |
| EE version        | 4.0.9                                                                     |

After you install EasyEngine you just need to point your domain to the DNS administration provider by changing the nameservers. I am using NameCheap to get my domains as is easy and cheaper. In the video, you will see how you can change your nameservers to digitalocean.

In the video you will see how you can configure your A record and CNAME www on digitalocean so you can use let’s encrypt.

Now you have Easyengine installed, a domain name and the domain pointing to the server. Next you will just need to add the site to the server and have it working, to do that you need to run the below command by replacing with your own domain name.

ee site create --wp --cache --letsencrypt

Add Multiple Domain to Easyengine

Easyengine let’s you add up to 25 domains one one server, so in case you need to add a new domain you just run the above command with the new domain you want to add. First in order to work you need to point the new domain to the server just as for the first domain.

In the video you will see how I added a subdomain with SSL and what is happening behind the scene in Easyengine.

ee site create --wp --cache --letsencrypt

Resource Utilization by Easyengine and Docker Containers

Easyengine is doing a lot off work behind so you can have your site up and running. In version 4 it is using Docker and is very nice as is scalable and does things very easy.

Below are the resource utilization from a 1CPU, 1 GB RAM digitalocean droplet:

top – 08:06:51 up 15:30, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 118 total, 1 running, 81 sleeping, 0 stopped, 1 zombie
%Cpu(s): 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1009156 total, 88292 free, 315432 used, 605432 buff/cache
KiB Swap: 1023996 total, 973308 free, 50688 used. 491064 avail Mem

Docker images created by Easyengine:

CONTAINER ID        NAME                               CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
280c20f02834        wpdozeocassionlookscom_nginx_1     0.00%               4.324MiB / 985.5MiB   0.44%               152kB / 189kB       766kB / 0B          2
9a6a312490c1        wpdozeocassionlookscom_postfix_1   0.00%               4.543MiB / 985.5MiB   0.46%               4.51kB / 670B       2.31MB / 0B         4
9c68d4e0c828        wpdozeocassionlookscom_php_1       0.01%               8.504MiB / 985.5MiB   0.86%               13.7MB / 2.41MB     4.12MB / 180kB      1
ce15143e1ff0        ee-cron-scheduler                  0.08%               6.457MiB / 985.5MiB   0.66%               3.5kB / 0B          7.84MB / 0B         8
1941fb4a1aca        wwwocassionlookscom_nginx_1        0.00%               4.426MiB / 985.5MiB   0.45%               1.18MB / 850kB      2.49MB / 0B         2
128bcee5b232        wwwocassionlookscom_postfix_1      0.00%               4.059MiB / 985.5MiB   0.41%               5.14kB / 703B       9.5MB / 0B          4
d65f4d3a73e3        wwwocassionlookscom_php_1          0.00%               11.05MiB / 985.5MiB   1.12%               15.3MB / 4.02MB     78.9MB / 184kB      1
9eed8ae62ae6        services_global-db_1               0.05%               88.58MiB / 985.5MiB   8.99%               1.32MB / 1.31MB     57.4MB / 88.1MB     32
72ab7fb984b9        services_global-redis_1            0.14%               2.34MiB / 985.5MiB    0.24%               4.15MB / 5.56MB     3.75MB / 0B         4
c51cb7226695        services_global-nginx-proxy_1      0.14%               8.949MiB / 985.5MiB   0.91%               1.24MB / 1.78MB     28MB / 262kB        21

Pingdom site speed test:

Video With all The steps to have EasyEngine On Ubuntu 18.04 With PHP 7.2 Installed