Ein kurzer Blick auf das Einrichten von WordPress in Docker mit EasyEngine on Cloud oder VPS.
Docker hat in den letzten Jahren ein hervorragendes Wachstum verzeichnet und wächst weiter. Es ist überall - vom Startup bis zum Unternehmen.

Docker Ich habe einige der coolen Vorteile gegenüber herkömmlichen VMs, aber in diesem Beitrag geht es nicht darum, darüber zu sprechen. Wenn Sie daran interessiert sind, gründlich zu lernen, würde ich empfehlen, dies zu tun Online Kurs.
Zurück zum Thema…
Sie kennen oder hören also die Vorteile von Docker und möchten es gerne für WordPress verwenden. Technisch gesehen gibt es viele Möglichkeiten, dies zu tun, aber schauen wir uns das an EasyEngine die das Leben leichter machen.
Ich habe folgende Tests auf Google Cloud durchgeführt, aber technisch sollte es auf jedem Cloud-Hosting funktionieren wie DigitalOcean, Linode, AWS, Alibaba-Cloud.
Meine Google Cloud-Instanz ist bereit.

und als root angemeldet

EasyEngine ist ein automatisiertes Skript, das auf dem Server installiert werden muss, auf dem Sie eine WordPress-Site erstellen möchten. Lassen Sie es uns also mit den folgenden Befehlen installieren.
Hinweis: EasyEngine funktioniert unter CentOS noch nicht, daher müssen Sie entweder Debian oder Ubuntu verwenden.
wget -qO ee rt.cx/ee4 && sudo bash ee
Die Installation der erforderlichen Komponenten einschließlich Docker dauert einige Minuten. Die folgenden Informationen sollten angezeigt werden, bevor zur Eingabeaufforderung zurückgekehrt wird.
Status: Downloaded newer image for easyengine/redis:v4.0.0
+-------------------+----------------------------------------------------------------------------------+
| OS | Linux 4.15.0-1025-gcp #26~16.04.1-Ubuntu SMP Wed Nov 21 10:13:20 UTC 2018 x86_64 |
| Shell | /bin/bash |
| PHP binary | /usr/bin/php7.2 |
| PHP version | 7.2.13-1+ubuntu16.04.1+deb.sury.org+1 |
| 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 | |
| EE project config | |
| EE version | 4.0.6 |
+-------------------+----------------------------------------------------------------------------------+
-----> Run "ee help site" for more information on how to create a site.
Dies bedeutet, dass EasyEngine installiert und zum Erstellen einer Site bereit ist. Dies hängt von den Anforderungen ab und es gibt mehrere Arten von Websites, die Sie erstellen können.
Ex:
- Nur eine HTML-Site
- WordPress-Site ohne Caching oder zusätzliche Funktionen
- Erstellen Sie eine PHP-basierte Site mit einer Datenbank
- Eine Site mit Selbstsignatur oder Verschlüsselung des SSL-Zertifikats
- WordPress-Sites mit mehreren Sites
- WP-Site in Unterdomäne oder Unterverzeichnis
- WP-Site mit Redis-Cache
Sie sehen, es gibt mehrere Kombinationsmöglichkeiten und Sie können immer auf ihre verweisen offizielle Dokumentation. Lassen Sie uns zunächst eine erstellen WP Seite mit Redis.
ee site create geekflarelab.com --type=wp --cache
Oben bitte ich EasyEngine, eine WP-Site für geekflarelab.com zu erstellen und einen Cache zu verwenden. Es dauert einige Sekunden und Sie sollten eine Erfolgsbestätigung wie unten sehen.
root@geekflare-lab:~# ee site create geekflarelab.com --type=wp --cache
Configuring project.
Creating WordPress site geekflarelab.com
Copying configuration files.
Starting site's services.
Downloading and configuring WordPress.
Success: Host entry successfully added.
Checking and verifying site-up status. This may take some time.
Installing WordPress site.
Success: http://geekflarelab.com has been created successfully!
Site entry created.
Creating cron entry
Success: Cron created successfully
+--------------------+----------------------------------------+
| Site | http://geekflarelab.com |
+--------------------+----------------------------------------+
| Site Root | /opt/easyengine/sites/geekflarelab.com |
+--------------------+----------------------------------------+
| Site Title | geekflarelab.com |
+--------------------+----------------------------------------+
| WordPress Username | stupefied-margulis |
+--------------------+----------------------------------------+
| WordPress Password | xxxxxxxxxxxx |
+--------------------+----------------------------------------+
| DB Host | global-db |
+--------------------+----------------------------------------+
| DB Name | geekflarelab_com |
+--------------------+----------------------------------------+
| DB User | geekflarelab.com-bNmEbX |
+--------------------+----------------------------------------+
| DB Password | xxxxxxxxxxxx |
+--------------------+----------------------------------------+
| E-Mail | admin@geekflarelab.com |
+--------------------+----------------------------------------+
| SSL | Not Enabled |
+--------------------+----------------------------------------+
| Cache | Enabled |
+--------------------+----------------------------------------+
root@geekflare-lab:~#
Sie sehen, wie schnell es ist, Ihre Website in der Cloud zum Laufen zu bringen?

Groß!
Lassen Sie uns überprüfen, welcher Caching-Mechanismus verwendet wird.

und wie Sie sehen können, wird WP Redis zusammen mit der Site-Erstellung installiert.
WP läuft im Docker, aber Sie müssen nichts dafür tun, da alles von EasyEngine-Skripten verwaltet wird. Meistens würden Sie mit interagieren ee
Skripte. Wenn Sie jedoch Dienste untersuchen möchten, die im Docker ausgeführt werden, können Sie Folgendes überprüfen.
Prozesse im Docker
docker ps
würde alle laufenden Dienste anzeigen.
root@geekflare-lab:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6f16b878d548 easyengine/cron:v4.0.0 "/usr/bin/ofelia dae…" 23 minutes ago Up 23 minutes ee-cron-scheduler
18b7d9b4b8ac easyengine/nginx:v4.0.0 "/usr/bin/openresty …" 24 minutes ago Up 24 minutes 80/tcp geekflarelabcom_nginx_1
5e36d6998bba easyengine/postfix:v4.0.0 "postfix start-fg" 24 minutes ago Up 24 minutes 25/tcp geekflarelabcom_postfix_1
9fba9f5a2c77 easyengine/php:v4.0.0 "docker-entrypoint.s…" 24 minutes ago Up 24 minutes 9000/tcp geekflarelabcom_php_1
d022dd6635d3 easyengine/mariadb:v4.0.0 "docker-entrypoint.s…" 24 minutes ago Up 24 minutes 3306/tcp ee-global-db
5c29ba40fa06 easyengine/redis:v4.0.0 "docker-entrypoint.s…" 24 minutes ago Up 24 minutes 6379/tcp ee-global-redis
cae69382b545 easyengine/nginx-proxy:v4.0.1 "/app/docker-entrypo…" 15 hours ago Up 35 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp ee-global-nginx-proxy
Wie Sie sehen können, laufen Nginx, PHP, MariaDB, Redis, Nginx usw. im Docker.
Speicher-, E / A-, CPU-Statistiken
docker stats
erhalten Sie Echtzeit-Nutzungsstatistiken
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
6f16b878d548 ee-cron-scheduler 0.10% 6.246MiB / 1.65GiB 0.37% 1.82kB / 0B 582kB / 0B 7
18b7d9b4b8ac geekflarelabcom_nginx_1 0.00% 4.316MiB / 1.65GiB 0.26% 3.94MB / 3.74MB 0B / 0B 2
5e36d6998bba geekflarelabcom_postfix_1 0.00% 4.59MiB / 1.65GiB 0.27% 2.32kB / 688B 3MB / 0B 4
9fba9f5a2c77 geekflarelabcom_php_1 0.00% 12.86MiB / 1.65GiB 0.76% 38.4MB / 7.11MB 18.3MB / 180kB 1
d022dd6635d3 ee-global-db 0.05% 97.02MiB / 1.65GiB 5.74% 1.71MB / 1.75MB 59.7MB / 98.8MB 32
5c29ba40fa06 ee-global-redis 0.12% 2.48MiB / 1.65GiB 0.15% 3.31MB / 23.1MB 7.11MB / 0B 4
cae69382b545 ee-global-nginx-proxy 0.11% 8.988MiB / 1.65GiB 0.53% 2.95MB / 3.2MB 23.2MB / 53.2kB 19
Protokolliert den Speicherort
Ich verstehe, dass Sie die Protokolle von Zeit zu Zeit auf Fehlerbehebung überprüfen müssen. Sie finden sie hier.
Nginx & PHP - / opt / easyengine / sites / $ SITENAME / logs
EE ist gut strukturiert, und wenn Sie mehr erfahren möchten, würde ich empfehlen, ihre zu überprüfen Handbuch. Das Ausführen von WordPress im Docker ist jetzt ganz einfach!
Wenn Sie den WP-Server, die Optimierung und die Sicherheit nicht selbst verwalten möchten, können Sie es versuchen Kinsta die sich für Sie um alles kümmern, damit Sie sich auf Ihr Kerngeschäft konzentrieren können.