Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment configurer WordPress dans Docker avec EasyEngine?

docker wp
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Un aperçu rapide de la configuration de WordPress dans Docker à l'aide d'EasyEngine on Cloud ou VPS.

Docker a une excellente croissance au cours des dernières années et continue de croître. Il est partout - de la startup à l'entreprise.

docker

Docker a obtenu certains des avantages intéressants par rapport aux machines virtuelles traditionnelles, mais cet article n'est pas pour en parler. Si vous souhaitez apprendre en profondeur, je vous recommande de suivre ceci Cours en ligne.

Retour au sujet…

Vous connaissez donc ou avez entendu les avantages de Docker et souhaitez essayer d'utiliser pour WordPress. Techniquement, il existe de nombreuses façons de le faire, mais voyons EasyEngine qui facilitent la vie.

J'ai fait des tests sur Google Cloud, mais techniquement, cela devrait fonctionner sur n'importe quel hébergement cloud comme DigitalOcean, Linode, AWS, Alibaba Nuage.

Mon instance Google Cloud est prête.

google-cloud-instance

et, connecté en tant que root

connecté à google-cloud

EasyEngine est un script automatisé qui doit être installé sur le serveur sur lequel vous souhaitez créer un site WordPress. Alors faisons-le installer avec les commandes suivantes.

Notez les: EasyEngine ne fonctionne pas encore sur CentOS, vous devez donc utiliser Debian ou Ubuntu.

wget -qO ee rt.cx/ee4 && sudo bash ee

L'installation des composants nécessaires, y compris Docker, prendra quelques minutes et vous devriez voir les informations suivantes avant de revenir à l'invite.

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.

Cela signifie qu'EasyEngine est installé et prêt à être utilisé pour créer un site. Cela dépend des besoins et il existe plusieurs types de sites que vous pouvez créer.

Ex:

  • Juste un site HTML
  • Site WordPress sans mise en cache ni fonctionnalités supplémentaires
  • Créer un site PHP avec une base de données
  • Un site avec l'auto-signature ou chiffrons le certificat SSL
  • Sites WordPress multi-sites
  • Site WP sur sous-domaine ou sous-répertoire
  • Site WP avec cache Redis

Vous voyez, il existe plusieurs possibilités de combinaisons et vous pouvez toujours vous référer à leur documentation officielle. Pour l'instant, créons un Site WP avec Redis.

ee site create geekflarelab.com --type=wp --cache

Ci-dessus, je demande à EasyEngine de créer un site WP pour geekflarelab.com et d'utiliser un cache. Cela prendra quelques secondes et vous devriez voir une confirmation de réussite comme ci-dessous.

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:~#

Vous voyez à quelle vitesse il est nécessaire de rendre votre site opérationnel sur le cloud?

geekflarelab-e1544957015635

Génial!

Vérifions quel mécanisme de mise en cache est utilisé.

easyengine-redis

et, comme vous pouvez le voir, WP Redis est installé avec la création du site.

WP fonctionne dans le docker, mais vous n'avez rien à faire car tout est géré par des scripts EasyEngine. La plupart du temps, vous interagiriez avec ee scripts. Cependant, si vous souhaitez explorer les services exécutés dans le docker, vous pouvez vérifier ce qui suit.

Processus à l'intérieur du docker

docker ps afficherait tous les services en cours d'exécution.

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

Comme vous pouvez le voir, Nginx, PHP, MariaDB, Redis, Nginx, etc. - tous fonctionnant dans le docker.

Mémoire, E / S, statistiques du processeur

docker stats vous donnera des statistiques d'utilisation en temps réel

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

Emplacement des journaux

Je comprends que vous devez consulter les journaux pour le dépannage et de temps en temps. Vous pouvez les trouver ici.

Nginx et PHP - / opt / easyengine / sites / $ SITENAME / logs

EE est bien structurée et si vous souhaitez en savoir plus, je vous recommande de vérifier manuel. Exécuter WordPress dans le Docker est maintenant facile!

Si vous ne souhaitez pas gérer le serveur WP, l'optimisation, la sécurité par vous-même, vous pouvez essayer Kinsta qui s'occupent de tout pour vous afin que vous puissiez vous concentrer sur votre cœur de métier.

Merci à nos commanditaires
Plus de bonnes lectures sur le développement
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder