Titel: Verwenden Sie Docker Compose, Nginx und MariaDB, um den Bereitstellungsprozess von PHP-Anwendungen zu automatisieren
Zusammenfassung: In diesem Artikel soll vorgestellt werden, wie Sie Docker Compose, Nginx und MariaDB verwenden, um die Bereitstellung von PHP-Anwendungen zu automatisieren. Wir werden Docker Compose verwenden, um Containeranwendungen und Nginx als Reverse-Proxy-Server zu verwalten und gleichzeitig in die MariaDB-Datenbank zu integrieren. Der Artikel enthält spezifische Codebeispiele, die den Lesern bei der Implementierung des automatisierten Bereitstellungsprozesses helfen sollen.
Bei herkömmlichen Bereitstellungsmethoden kann die Konfiguration, Installation und Verwaltung der Serverumgebung sehr umständlich sein. Die Verwendung von Docker Compose kann diesen Prozess vereinfachen und uns die schnelle und zuverlässige Bereitstellung von Anwendungen ermöglichen.
Zuerst müssen wir Docker und Docker Compose auf dem Zielserver installieren. Informationen zu bestimmten Installationsmethoden finden Sie in der offiziellen Docker-Dokumentation.
Erstellen Sie eine Datei namens docker-compose.yaml im Stammverzeichnis des Projekts, die die von uns bereitgestellten Dienste und die gegenseitigen Abhängigkeiten zwischen ihnen definiert.
version: '3' services: nginx: image: nginx:latest ports: - "80:80" volumes: - ./nginx/conf.d:/etc/nginx/conf.d depends_on: - php php: image: php:7.4-fpm volumes: - ./php/app:/var/www/html db: image: mariadb:latest environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_DATABASE=app - MYSQL_USER=app_user - MYSQL_PASSWORD=app_password volumes: - ./db/data:/var/lib/mysql
Die obige Docker Compose-Datei definiert drei Dienste: Nginx, PHP und DB. Der Nginx-Dienst ist für den Reverse-Proxy und die Bereitstellung statischer Dateien verantwortlich, der PHP-Dienst führt unsere Anwendung aus und der DB-Dienst ist die MariaDB-Datenbank.
Erstellen Sie ein Verzeichnis mit dem Namen nginx im Stammverzeichnis des Projekts und erstellen Sie in diesem Verzeichnis ein Verzeichnis conf.d. Erstellen Sie im Verzeichnis conf.d eine Datei mit dem Namen default.conf, die den Reverse-Proxy und den statischen Dateidienst von Nginx definiert.
server { listen 80; server_name localhost; root /var/www/html/public; location / { try_files $uri /index.php$is_args$args; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Der Schlüssel zur obigen Nginx-Konfigurationsdatei besteht darin, die Anfrage an Port 9000 im PHP-Container weiterzuleiten und so das Parsen und Ausführen des PHP-Codes zu ermöglichen.
Erstellen Sie ein Verzeichnis namens php im Stammverzeichnis des Projekts und schreiben Sie unsere PHP-Anwendung in dieses Verzeichnis.
Da wir nun alle Vorbereitungen für den automatisierten Bereitstellungsprozess abgeschlossen haben, können wir den folgenden Befehl verwenden, um die Anwendung zu starten.
docker-compose up -d
Dieser Befehl liest die Konfiguration aus der Datei docker-compose.yaml und erstellt und führt automatisch die erforderlichen Docker-Container aus.
Geben Sie die IP-Adresse oder den Domänennamen des Servers in Ihren Browser ein und Sie können auf unsere App zugreifen.
Dieser Artikel beschreibt, wie Sie Docker Compose, Nginx und MariaDB verwenden, um eine automatisierte Bereitstellung von PHP-Anwendungen zu erreichen. Wir verwenden Docker Compose zur Verwaltung von Containeranwendungen und nutzen Nginx als Reverse-Proxy-Server zur Integration in die MariaDB-Datenbank. Durch spezifische Codebeispiele können Leser den automatisierten Bereitstellungsprozess besser verstehen und implementieren. Diese automatisierte Bereitstellungslösung kann die Entwicklungseffizienz verbessern, die Schwierigkeit der Systemkonfiguration und -verwaltung verringern und ist ein wichtiger Bestandteil der modernen Softwareentwicklung.
Das obige ist der detaillierte Inhalt vonAutomatisieren Sie den Bereitstellungsprozess von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!