Erstellen Sie eine belastbare PHP-Anwendungsarchitektur mit Docker Compose, Nginx und MariaDB.
Mit der Entwicklung von Cloud Computing und Containerisierungstechnologie ist der Aufbau einer belastbaren Anwendungsarchitektur immer wichtiger geworden. In diesem Artikel stellen wir vor, wie Sie Docker Compose, Nginx und MariaDB verwenden, um eine belastbare PHP-Anwendungsarchitektur aufzubauen, und stellen spezifische Codebeispiele bereit.
version: '3' services: web: image: nginx:latest restart: always ports: - 80:80 - 443:443 volumes: - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - php php: image: php:latest restart: always volumes: - ./code:/var/www/html db: image: mariadb:latest restart: always environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=app - MYSQL_USER=appuser - MYSQL_PASSWORD=apppassword
Die obige Konfigurationsdatei definiert drei Dienste: Web, PHP und DB. Der Webdienst verwendet das neueste Nginx-Image, um die Ports 80 und 443 dem Host zuzuordnen. Der Webdienst passt auch die Nginx-Konfiguration an, indem er die lokale Datei nginx.conf in den Container einbindet. Der PHP-Dienst verwendet das neueste PHP-Image und gibt Code frei, indem er das lokale Codeverzeichnis in den Container einbindet. Der DB-Dienst verwendet das neueste MariaDB-Image und die Passwörter für den Root-Benutzer und die App-Datenbank sind festgelegt.
worker_processes auto; pid /run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; server { listen 80; location / { proxy_pass http://php:80; proxy_set_header Host $host; } } }
Die obige Konfigurationsdatei gibt die Anzahl der Nginx-Worker-Prozesse sowie die Ports und Proxy-Regeln an, die Nginx überwacht. In diesem Beispiel leitet Nginx alle Anfragen per Proxy an Port 80 im PHP-Container weiter.
docker-compose up -d
Dieser Befehl startet und verwaltet alle Container gemäß der Konfiguration in der Datei docker-compose.yml . Durch das Hinzufügen des Parameters -d wird der Container im Hintergrund ausgeführt.
php: image: php:latest restart: always volumes: - ./code:/var/www/html scale: 3
Die obige Konfiguration erstellt 3 PHP-Container mit jeweils demselben Code und derselben Konfiguration. Wenn mehr Anfragen eingehen, verteilt Docker Compose auf diese Weise die Anfragen automatisch auf verschiedene PHP-Container und erreicht so eine Skalierung.
Zusammenfassung
In diesem Artikel wird vorgestellt, wie Sie mit Docker Compose, Nginx und MariaDB eine belastbare PHP-Anwendungsarchitektur erstellen. Durch die Verwendung von Docker Compose können wir problemlos mehrere Docker-Container definieren und ausführen, Anforderungs-Proxying und Lastausgleich über Nginx implementieren und Anwendungsdaten über MariaDB speichern. Wir haben auch gezeigt, wie man die Anwendung skalieren kann, indem man die Anzahl der PHP-Container erhöht. Ich hoffe, dieser Artikel war hilfreich und wenn Sie Fragen haben, können Sie diese gerne stellen.
Das obige ist der detaillierte Inhalt vonErstellen Sie eine belastbare PHP-Anwendungsarchitektur mit Docker Compose, Nginx und MariaDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!