Verwenden Sie Docker, um ein verteiltes lnmp-Image zu erstellen

Verwenden Sie Docker, um ein verteiltes lnmp-Image zu erstellen

LNMP ist eine dynamische Website-Serverarchitektur, die durch die Kombination von Nginx, Mariadb und PHP unter einem Linux-System erstellt wird. Als nächstes verwenden wir Docker, um ein verteiltes lnmp-Image zu erstellen.

1. Verteilte LNMP-Image-Produktion über Docker

1. Führen Sie Nginx-, MySQL- und PHP-Container aus

#Schalten Sie die Firewall und den Kernschutz aus systemctl disable firewalld
systemctl stoppe Firewall
0

# Prüfen, ob die Ports 3306, 80 und 9000 belegt sind ss -natp | grep 3306
ss -natp | grep 80
ss -natp | grep 9000

#Erstellen Sie ein benutzerdefiniertes Netzwerk Docker-Netzwerk erstellen -d Bridge --Subnet 172.168.184.0/24 --Gateway 172.168.184.1 lnmp

#Führen Sie den Nginx-Container aus docker run -itd --name nginx --network lnmp -p 80:80 --ip 172.168.184.10 nginx:1.12.0

#Führen Sie den MySQL-Container aus docker run -itd --name mysql --network lnmp -p 3306:3306 --ip 172.168.184.20 -e MYSQL_ROOT_PASSWORD=010230 mysql:5.7

#Führen Sie den PHP-Container aus docker run -itd --name phpfpm --network lnmp -p 9000:9000 --ip 172.168.184.30 php:7.1-fpm 

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

2. Ändern Sie die Nginx-Konfigurationsdatei und die PHP-Datei

docker exec -it nginx /bin/bash
echo -e "server {
    hören Sie 80;
    Servername localhost;
    Standort / {
        root /usr/share/nginx/html;
        index.html index.htmi index.php;
    }
    Fehlerseite 500 502 503 504 /50x.html;
    Standort = /50x.html {
        root /usr/share/nginx/html;
    }
    Standort ~ \.php$ {
        root /usr/share/nginx/html;
        fastcgi_pass 172.168.184.30:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME \$Dokumentstammsatz\$fastcgi_script_name;
        fastcgi_params einschließen;
    }
}" > /etc/nginx/conf.d/default.conf

nginx -s neu laden

docker exec -it phpfpm /bin/bash
mkdir -p /usr/share/nginx/html
echo "<?php
phpinfo();
?>" > /usr/share/nginx/html/index.php 

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

4. Führen Sie Tests durch

Geben Sie localhost/index.php in der virtuellen Maschine ein

Bildbeschreibung hier einfügen

Geben Sie auf diesem Computer 192.168.184.70/index.php ein (die Adresse meiner virtuellen Maschine lautet 192.168.184.70).

Bildbeschreibung hier einfügen

Oben finden Sie Einzelheiten zur Verwendung von Docker zum Erstellen eines verteilten LNMP-Image. Weitere Informationen zu verteilten LNMP-Images von Docker finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So erstellen Sie schnell eine LNMP-Umgebung mit Docker (neueste Version)
  • So stellen Sie die LNMP-Architektur im Docker bereit
  • So erstellen Sie eine lnmp-Umgebung im Docker
  • Verwenden Sie Docker, um eine integrierte Service-LNMP-Umgebung zu erstellen
  • Detaillierte Erläuterung zur Verwendung von Docker zum Erstellen einer LNMP-Umgebung
  • Beispiel für die Kompilierung von LNMP im Docker-Container

<<:  Was bedeutet href=# in einem Link?

>>:  Detailliertes Tutorial zur Installation und Konfiguration der komprimierten Version der MySQL-Datenbank

Artikel empfehlen

So stellen Sie ein SpringCloud-Projekt mit Docker bereit

Inhaltsverzeichnis Docker-Image herunterladen Sta...

Drei Möglichkeiten zum Teilen der Komponentenlogik in React

Ohne weitere Umschweife sind dies diese drei Meth...

Details zur Bündelung statischer Ressourcen ohne JavaScript

Inhaltsverzeichnis 1. Benutzerdefinierter Import ...

WeChat-Applet: benutzerdefinierter TabBar-Schrittdatensatz

Inhaltsverzeichnis 1. Einleitung 2. Passen Sie de...

Detaillierte Erklärung des MySQL-Sicherungsprozesses mit Xtrabackup

Inhaltsverzeichnis 01 Hintergrund 02 Einleitung 0...

Zusammenfassung der Entwicklung benutzerdefinierter Vue 3-Richtlinien

Was ist eine Richtlinie? Sowohl Angular als auch ...

Methode zur Erstellung von Vue-Scaffolding-Lernprojekten

1. Was ist Scaffolding? 1. Vue-CLI Vue CLI ist ei...

MySQL-Grundlagen in 1 Stunde

Inhaltsverzeichnis Erste Schritte mit MySQL MySQL...

vue + tp5 realisiert eine einfache Anmeldefunktion

In diesem Artikelbeispiel wird der spezifische Co...

Zusammenfassung gängiger SQL-Anweisungen in MySQL

1. MySQL-Exportdatei: SELECT `pe2e_user_to_compan...