Disaster Recovery und Wiederherstellung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

WBOY
Freigeben: 2023-10-12 10:44:02
Original
1080 Leute haben es durchsucht

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的灾备和恢复

Disaster Recovery und Recovery für PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

Disaster Recovery und Recovery ist ein wichtiges Thema und für jede Anwendung sehr kritisch. In modernen Cloud-Computing-Umgebungen kann die Notfallwiederherstellung und -wiederherstellung von Anwendungen mithilfe der Containerisierungstechnologie problemlos erreicht werden. In diesem Artikel wird die Verwendung von Docker Compose, Nginx und MariaDB zur Implementierung der Notfallwiederherstellung und Wiederherstellung von PHP-Anwendungen vorgestellt und spezifische Codebeispiele bereitgestellt.

Zuerst müssen wir eine Docker Compose-Datei definieren, die die verschiedenen Komponenten unserer Anwendung und die Beziehungen zwischen ihnen beschreibt. Hier ist ein einfaches Beispiel:

version: '3'
services:
  web:
    build: .
    ports:
      - 80:80
    depends_on:
      - db
    networks:
      - app-network
  db:
    image: mariadb:latest
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    volumes:
      - db-data:/var/lib/mysql
    networks:
      - app-network
networks:
  app-network:
volumes:
  db-data:
Nach dem Login kopieren

Die obige Docker Compose-Datei definiert zwei Dienste: Web und DB. Der Webdienst ist unsere PHP-Anwendung und wird über Nginx ausgeführt. Der DB-Dienst ist eine MariaDB-Datenbank, die zum Speichern der Anwendungsdaten verwendet wird.

Als nächstes müssen wir eine Nginx-Konfigurationsdatei schreiben, um Anfragen an unsere PHP-Anwendung weiterzuleiten. Das Folgende ist eine Beispielkonfigurationsdatei:

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    location ~ .php$ {
        fastcgi_pass web:9000;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}
Nach dem Login kopieren

In der obigen Konfigurationsdatei verwenden wir die Direktive fastcgi_pass, um die Anfrage an den Docker-Dienst namens web weiterzuleiten, wobei die Portnummer 9000 ist.

Schließlich müssen wir eine PHP-Anwendung schreiben und sie zusammen mit dem obigen Code in ein Container-Image packen. Unten finden Sie ein einfaches PHP-Anwendungsbeispiel:

<?php
$servername = "db";
$username = "root";
$password = "secret";
$dbname = "mydb";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 执行查询
$sql = "SELECT * FROM users";
$result = $conn->query($sql);

// 输出结果
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} else {
    echo "0 结果";
}

// 关闭连接
$conn->close();
?>
Nach dem Login kopieren

Die obige PHP-Anwendung ist ein einfaches Datenbankabfragebeispiel, das eine Verbindung zu einer MariaDB-Datenbank namens db herstellt und eine Abfrage ausführt. Die Abfrageergebnisse werden an den Browser ausgegeben.

Um Katastrophenvorsorge und Wiederherstellung zu erreichen, können wir Docker Compose-Befehle verwenden, um unsere Anwendungen zu starten und zu stoppen. Hier sind einige häufig verwendete Befehlsbeispiele:

# 启动应用程序
docker-compose up -d

# 停止应用程序
docker-compose down
Nach dem Login kopieren

Mit diesen Befehlen können wir unsere Anwendungsinstanzen einfach erstellen und zerstören, um Katastrophenvorsorge- und Wiederherstellungsziele zu erreichen.

Zusammenfassung:

Mit Docker Compose, Nginx und MariaDB können wir Disaster Recovery und Wiederherstellung von PHP-Anwendungen problemlos implementieren. Mithilfe der Containerisierungstechnologie können wir Anwendungsinstanzen schnell bereitstellen und zerstören und Nginx als Reverse-Proxy verwenden, um einen Lastausgleich des Datenverkehrs zu erreichen. MariaDB bietet leistungsstarke Datenbankfunktionen zum Speichern und Verwalten von Anwendungsdaten. Die oben bereitgestellten Codebeispiele können den Lesern helfen, zu verstehen, wie diese Funktionen implementiert und ihre eigenen Anwendungen darauf basierend angepasst werden können.

Das obige ist der detaillierte Inhalt vonDisaster Recovery und Wiederherstellung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage