


Überwachen und verfolgen Sie PHP-Anwendungen über Docker Compose, Nginx und MariaDB
Ü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:
- Docker: Stellen Sie sicher, dass Docker installiert wurde und normal ausgeführt werden kann.
- Docker Compose: Stellen Sie sicher, dass Docker Compose installiert ist und ordnungsgemäß ausgeführt wird.
- Nginx: wird für Proxy- und Lastausgleichsanfragen verwendet.
- 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
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; } } }
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(); ?>
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.- Die spezifischen Konfigurationsschritte gehen über den Rahmen dieses Artikels hinaus, wir können uns jedoch für die Konfiguration auf den folgenden Beispielcode beziehen. Fügen Sie die folgenden Dienste in docker-compose.yml hinzu:
$ docker-compose build $ docker-compose up -d
Nach dem Login kopierenErstellen 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"
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']
Ö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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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.

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.

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.

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

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.

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.

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

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.
