Heim Backend-Entwicklung PHP-Tutorial Überwachen und verfolgen Sie PHP-Anwendungen über Docker Compose, Nginx und MariaDB

Überwachen und verfolgen Sie PHP-Anwendungen über Docker Compose, Nginx und MariaDB

Oct 12, 2023 pm 02:25 PM
nginx 监控 docker compose

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的监控与追踪

Überwachung und Verfolgung von PHP-Anwendungen über Docker Compose, Nginx und MariaDB

Mit der Entwicklung von Cloud Computing und Container-Technologie werden immer mehr Anwendungen in Docker-Containern bereitgestellt. In diesem Fall wird die Überwachung und Nachverfolgung von Anwendungen zu einem wichtigen Thema. In diesem Artikel wird vorgestellt, wie PHP-Anwendungen über Docker Compose, Nginx und MariaDB überwacht und verfolgt werden, und es werden konkrete Codebeispiele gegeben.

1. Vorbereitung

Bevor Sie beginnen, müssen Sie die folgende Umgebung vorbereiten:

  1. Docker: Stellen Sie sicher, dass Docker installiert wurde und normal ausgeführt werden kann.
  2. Docker Compose: Stellen Sie sicher, dass Docker Compose installiert ist und ordnungsgemäß ausgeführt wird.
  3. Nginx: wird für Proxy- und Lastausgleichsanfragen verwendet.
  4. MariaDB: wird zum Speichern von Daten für Anwendungen verwendet.

2. Erstellen Sie eine Docker Compose-Datei

Erstellen Sie eine Datei mit dem Namen docker-compose.yml in einem beliebigen Verzeichnis. Der Dateiinhalt lautet wie folgt:

version: '3'
services:
  web:
    build: .
    ports:
    - "80:80"
  db:
    image: mariadb
    environment:
    - MYSQL_ROOT_PASSWORD=root
    - MYSQL_DATABASE=test_db
    volumes:
    - ./data:/var/lib/mysql
Nach dem Login kopieren

In der obigen Datei haben wir zwei Dienste erstellt, einer ist ein Webdienst , einer davon ist der Datenbankdienst. Der Webdienst erstellt ein Image der Anwendung und ordnet Port 80 dem Host zu. Der DB-Dienst verwendet das Mariadb-Image, gibt das Root-Passwort und den Datenbanknamen an und speichert die Daten im Verzeichnis ./data des Hosts.

3. Erstellen Sie eine Nginx-Konfigurationsdatei

Erstellen Sie eine Datei mit dem Namen nginx.conf im selben Verzeichnis wie docker-compose.yml. Der Dateiinhalt lautet wie folgt:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    server {
        listen 80;
        server_name localhost;

        location / {
            proxy_pass http://web;
        }
    }
}
Nach dem Login kopieren

In der obigen Datei haben wir Nginx so konfiguriert, dass es den Port überwacht 80, Und leiten Sie die Anfrage an den Docker-Dienst namens web weiter.

4. PHP-Anwendungscode erstellen

Erstellen Sie eine Datei mit dem Namen index.php im selben Verzeichnis wie docker-compose.yml. Der Dateiinhalt lautet wie folgt:

<?php
$dbhost = 'db';
$dbuser = 'root';
$dbpass = 'root';
$dbname = 'test_db';

$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);

if($conn->connect_error) {
    die("连接失败:" . $conn->connect_error);
}

echo "连接成功";
$conn->close();
?>
Nach dem Login kopieren

In der obigen Datei stellen wir über MySQL eine Verbindung zu MariaDB her Erweiterungsdatenbank und drucken Sie eine Meldung über die erfolgreiche Verbindung aus. 5. Erstellen und ausführen In der Lage sein, es zu einer erfolgreichen Verbindungsmeldung zu sehen.

6. Überwachung und Nachverfolgung

Um PHP-Anwendungen zu überwachen und zu verfolgen, können wir einige gängige Tools verwenden, wie zum Beispiel:

Prometheus: wird zum Sammeln und Speichern von Überwachungsindikatordaten verwendet.

Grafana: Wird zur Visualisierung von Überwachungsindikatordaten verwendet.

Zipkin: Wird zum Verfolgen von Anfragen in Anwendungen verwendet.
  1. Die spezifischen Konfigurationsschritte gehen über den Rahmen dieses Artikels hinaus, wir können uns jedoch für die Konfiguration auf den folgenden Beispielcode beziehen.
  2. Fügen Sie die folgenden Dienste in docker-compose.yml hinzu:
  3. $ docker-compose build
    $ docker-compose up -d
    Nach dem Login kopieren
  4. Erstellen Sie eine Datei mit dem Namen prometheus.yml im selben Verzeichnis wie docker-compose.yml mit folgendem Inhalt:
  prometheus:
    image: prom/prometheus
    volumes:
    - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
    - "9090:9090"

  grafana:
    image: grafana/grafana
    volumes:
    - ./grafana-data:/var/lib/grafana
    ports:
    - "3000:3000"
Nach dem Login kopieren

In der obigen Datei ist Prometheus konfiguriert um regelmäßig Indikatordaten über den Webdienst zu sammeln.

Starten Sie Prometheus und Grafana, indem Sie den folgenden Befehl ausführen, um den Container neu zu erstellen und auszuführen:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'php-app'
    static_configs:
    - targets: ['web:80']
Nach dem Login kopieren

Öffnen Sie http://localhost:3000 in Ihrem Browser und melden Sie sich mit dem Standardbenutzernamen und -kennwort (admin/admin) bei Grafana an. Dann Konfigurieren Sie die Prometheus-Datenquelle und erstellen Sie Dashboards, um Überwachungsmetrikdaten zu visualisieren.

Was die Konfiguration von Zipkin betrifft, können Sie sich zur Vervollständigung auf die offizielle Dokumentation und die zugehörigen Beispielcodes beziehen.

Zusammenfassung

Mit Docker Compose, Nginx und MariaDB können wir ganz einfach eine Überwachungs- und Tracking-Umgebung für PHP-Anwendungen erstellen. Durch die Konfiguration von Prometheus und Grafana können Sie Indikatordaten zur Anwendungsüberwachung sammeln und visualisieren. Durch die Konfiguration von Zipkin können Sie Anfragen in Ihrer Anwendung verfolgen. Das Obige ist ein einfaches Beispiel. Sie können es entsprechend Ihren tatsächlichen Anforderungen und Ihrer Umgebung anpassen und anpassen. Ich hoffe, dieser Artikel hilft Ihnen!

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

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server Apr 21, 2024 am 07:22 AM

Um dem Tomcat-Server den Zugriff auf das externe Netzwerk zu ermöglichen, müssen Sie Folgendes tun: Ändern Sie die Tomcat-Konfigurationsdatei, um externe Verbindungen zuzulassen. Fügen Sie eine Firewallregel hinzu, um den Zugriff auf den Tomcat-Server-Port zu ermöglichen. Erstellen Sie einen DNS-Eintrag, der den Domänennamen auf die öffentliche IP des Tomcat-Servers verweist. Optional: Verwenden Sie einen Reverse-Proxy, um Sicherheit und Leistung zu verbessern. Optional: Richten Sie HTTPS für mehr Sicherheit ein.

Willkommen bei Nginx! Wie kann ich es lösen? Willkommen bei Nginx! Wie kann ich es lösen? Apr 17, 2024 am 05:12 AM

Um den Fehler „Willkommen bei Nginx!“ zu beheben, müssen Sie die Konfiguration des virtuellen Hosts überprüfen, den virtuellen Host aktivieren, Nginx neu laden. Wenn die Konfigurationsdatei des virtuellen Hosts nicht gefunden werden kann, erstellen Sie eine Standardseite und laden Sie Nginx neu. Anschließend wird die Fehlermeldung angezeigt verschwindet und die Website wird normal angezeigt.

So generieren Sie eine URL aus einer HTML-Datei So generieren Sie eine URL aus einer HTML-Datei Apr 21, 2024 pm 12:57 PM

Für die Konvertierung einer HTML-Datei in eine URL ist ein Webserver erforderlich. Dazu sind die folgenden Schritte erforderlich: Besorgen Sie sich einen Webserver. Richten Sie einen Webserver ein. Laden Sie eine HTML-Datei hoch. Erstellen Sie einen Domainnamen. Leiten Sie die Anfrage weiter.

So stellen Sie das NodeJS-Projekt auf dem Server bereit So stellen Sie das NodeJS-Projekt auf dem Server bereit Apr 21, 2024 am 04:40 AM

Serverbereitstellungsschritte für ein Node.js-Projekt: Bereiten Sie die Bereitstellungsumgebung vor: Erhalten Sie Serverzugriff, installieren Sie Node.js, richten Sie ein Git-Repository ein. Erstellen Sie die Anwendung: Verwenden Sie npm run build, um bereitstellbaren Code und Abhängigkeiten zu generieren. Code auf den Server hochladen: über Git oder File Transfer Protocol. Abhängigkeiten installieren: Stellen Sie eine SSH-Verbindung zum Server her und installieren Sie Anwendungsabhängigkeiten mit npm install. Starten Sie die Anwendung: Verwenden Sie einen Befehl wie node index.js, um die Anwendung zu starten, oder verwenden Sie einen Prozessmanager wie pm2. Konfigurieren Sie einen Reverse-Proxy (optional): Verwenden Sie einen Reverse-Proxy wie Nginx oder Apache, um den Datenverkehr an Ihre Anwendung weiterzuleiten

Kann von außen auf Nodejs zugegriffen werden? Kann von außen auf Nodejs zugegriffen werden? Apr 21, 2024 am 04:43 AM

Ja, auf Node.js kann von außen zugegriffen werden. Sie können die folgenden Methoden verwenden: Verwenden Sie Cloud Functions, um die Funktion bereitzustellen und öffentlich zugänglich zu machen. Verwenden Sie das Express-Framework, um Routen zu erstellen und Endpunkte zu definieren. Verwenden Sie Nginx, um Proxy-Anfragen an Node.js-Anwendungen umzukehren. Verwenden Sie Docker-Container, um Node.js-Anwendungen auszuführen und sie über Port-Mapping verfügbar zu machen.

So stellen Sie eine Website mit PHP bereit und pflegen sie So stellen Sie eine Website mit PHP bereit und pflegen sie May 03, 2024 am 08:54 AM

Um eine PHP-Website erfolgreich bereitzustellen und zu warten, müssen Sie die folgenden Schritte ausführen: Wählen Sie einen Webserver (z. B. Apache oder Nginx). Installieren Sie PHP. Erstellen Sie eine Datenbank und verbinden Sie PHP. Laden Sie Code auf den Server hoch. Richten Sie den Domänennamen und die DNS-Überwachung der Website-Wartung ein Zu den Schritten gehören die Aktualisierung von PHP und Webservern sowie die Sicherung der Website, die Überwachung von Fehlerprotokollen und die Aktualisierung von Inhalten.

So schützen Sie Ihren Server mit Fail2Ban vor Brute-Force-Angriffen So schützen Sie Ihren Server mit Fail2Ban vor Brute-Force-Angriffen Apr 27, 2024 am 08:34 AM

Eine wichtige Aufgabe für Linux-Administratoren besteht darin, den Server vor illegalen Angriffen oder Zugriffen zu schützen. Linux-Systeme verfügen standardmäßig über gut konfigurierte Firewalls wie iptables, Uncomplicated Firewall (UFW), ConfigServerSecurityFirewall (CSF) usw., die eine Vielzahl von Angriffen verhindern können. Jeder mit dem Internet verbundene Computer ist ein potenzielles Ziel für böswillige Angriffe. Es gibt ein Tool namens Fail2Ban, mit dem illegale Zugriffe auf den Server eingedämmt werden können. Was ist Fail2Ban? Fail2Ban[1] ist eine Intrusion-Prevention-Software, die Server vor Brute-Force-Angriffen schützt. Es ist in der Programmiersprache Python geschrieben

Beim Aufbau einer Hochverfügbarkeit mit keepalived+nginx sind einige Punkte zu beachten Beim Aufbau einer Hochverfügbarkeit mit keepalived+nginx sind einige Punkte zu beachten Apr 23, 2024 pm 05:50 PM

Nachdem yum Keepalived installiert hat, konfigurieren Sie die Keepalived-Konfigurationsdatei. In den Keepalived-Konfigurationsdateien ist der Netzwerkkartenname des aktuellen VIP normalerweise als verfügbare IP ausgewählt. Es gibt viele LAN-Umgebungen, daher ist diese VIP eine Intranet-IP im selben Netzwerksegment wie die beiden Maschinen. Bei der Verwendung in einer externen Netzwerkumgebung spielt es keine Rolle, ob es sich im selben Netzwerksegment befindet, solange der Client darauf zugreifen kann. Stoppen Sie den Nginx-Dienst und starten Sie den Keepalived-Dienst. Wenn er nicht gestartet werden kann und fehlschlägt, liegt im Grunde ein Problem mit den Konfigurationsdateien und Skripten oder ein Präventionsproblem vor.

See all articles