


Surveillance et gestion des logs des applications PHP à l'aide de Docker Compose, Nginx et MariaDB
Utilisez Docker Compose, Nginx et MariaDB pour mettre en œuvre la surveillance et la gestion des journaux des applications PHP
La surveillance et la gestion des journaux sont des éléments très importants lors du développement et de l'exploitation d'applications Web. Grâce à Docker Compose, Nginx et MariaDB, nous pouvons mettre en œuvre une solution complète de surveillance et de gestion des journaux.
Tout d'abord, nous devons préparer une application PHP et l'écrire sous forme d'image Docker. Cette application PHP peut être une simple page statique ou une application dynamique contenant du code PHP. Quel que soit celui-ci, nous devons le regrouper dans une image Docker.
Ensuite, nous devons écrire un fichier Docker Compose pour définir l'ensemble de l'environnement de notre application. Dans ce fichier, nous devons définir trois services : Nginx, PHP et MariaDB.
version: '3' services: web: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf - ./logs:/var/log/nginx php: image: your_php_image:latest volumes: - ./php:/var/www/html links: - db db: image: mariadb:latest environment: - MYSQL_ROOT_PASSWORD=your_password volumes: - ./data:/var/lib/mariadb
Dans la configuration ci-dessus, nous avons défini trois services : web, php et db. Le service Web utilise l'image Nginx et lie le port 80 de l'hôte au port 80 du conteneur. Nous avons également spécifié le chemin de montage du fichier de configuration Nginx nginx.conf et le répertoire du fichier journal logs.
Le service php utilise notre propre image PHP packagée et monte le répertoire php de l'hôte dans le répertoire /var/www/html du conteneur, afin que notre application PHP puisse accéder aux fichiers de ce répertoire.
Le service db utilise le miroir MariaDB et définit un mot de passe utilisateur ROOT. Nous avons également monté un répertoire de données pour le stockage persistant des données de la base de données.
Ensuite, nous devons préparer un fichier de configuration Nginx nginx.conf pour configurer l'hôte virtuel et la gestion des journaux de Nginx. Voici un exemple simple :
server { listen 80; server_name localhost; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { root /var/www/html; index index.html index.php; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; include fastcgi_params; } }
Le fichier de configuration ci-dessus définit un hôte virtuel nommé localhost, qui écoute sur le port 80. Nous avons configuré respectivement le journal d'accès et le journal des erreurs dans le répertoire /var/log/nginx.
Ensuite, nous devons écrire un script pour analyser et stocker les journaux. Nous pouvons écrire un script simple en utilisant PHP pour réaliser cette fonction. Voici un exemple :
<?php function save_log($log_file, $log_data) { // 解析日志数据 // 存储到数据库中 } $log_file = '/var/log/nginx/access.log'; $handle = fopen($log_file, "r"); if ($handle) { while (($line = fgets($handle)) !== false) { // 解析日志行,获取需要存储的数据 $log_data = parse_log($line); // 存储日志数据 save_log($log_file, $log_data); } fclose($handle); } ?>
Dans le script ci-dessus, nous utilisons une simple boucle pour lire le fichier journal ligne par ligne et stocker les données du journal analysées dans la base de données. La logique spécifique d'analyse et de stockage doit être écrite en fonction de la situation réelle.
Enfin, nous devons ajouter ce script à notre application PHP pour effectuer régulièrement des opérations d'analyse et de stockage des journaux. Nous pouvons utiliser crontab pour implémenter une exécution planifiée. Voici un exemple :
# 每分钟执行一次日志解析脚本 * * * * * php /var/www/html/log_parser.php
Ajoutez la configuration ci-dessus à crontab pour exécuter le script log_parser.php toutes les minutes.
Pour résumer, en utilisant Docker Compose, Nginx et MariaDB, nous pouvons facilement mettre en œuvre la surveillance et la gestion des journaux des applications PHP. En configurant l'hôte virtuel et la gestion des journaux de Nginx, nous pouvons stocker les journaux d'accès et les journaux d'erreurs dans des répertoires spécifiés. Ensuite, en écrivant un script qui analyse les journaux et en l'ajoutant à l'application PHP, nous pouvons analyser et stocker régulièrement ces données de journal. De cette façon, nous pouvons facilement surveiller et dépanner l’application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour permettre au serveur Tomcat d'accéder au réseau externe, vous devez : modifier le fichier de configuration Tomcat pour autoriser les connexions externes. Ajoutez une règle de pare-feu pour autoriser l'accès au port du serveur Tomcat. Créez un enregistrement DNS pointant le nom de domaine vers l'adresse IP publique du serveur Tomcat. Facultatif : utilisez un proxy inverse pour améliorer la sécurité et les performances. Facultatif : configurez HTTPS pour une sécurité accrue.

Pour résoudre l'erreur "Bienvenue sur nginx!", vous devez vérifier la configuration de l'hôte virtuel, activer l'hôte virtuel, recharger Nginx, si le fichier de configuration de l'hôte virtuel est introuvable, créer une page par défaut et recharger Nginx, puis le message d'erreur. disparaîtra et le site Web sera affiché normalement.

Étapes de déploiement de serveur pour un projet Node.js : Préparez l'environnement de déploiement : obtenez l'accès au serveur, installez Node.js, configurez un référentiel Git. Créez l'application : utilisez npm run build pour générer du code et des dépendances déployables. Téléchargez le code sur le serveur : via Git ou File Transfer Protocol. Installer les dépendances : connectez-vous en SSH au serveur et installez les dépendances de l'application à l'aide de npm install. Démarrez l'application : utilisez une commande telle que node index.js pour démarrer l'application ou utilisez un gestionnaire de processus tel que pm2. Configurer un proxy inverse (facultatif) : utilisez un proxy inverse tel que Nginx ou Apache pour acheminer le trafic vers votre application

La conversion d'un fichier HTML en URL nécessite un serveur Web, ce qui implique les étapes suivantes : Obtenir un serveur Web. Configurez un serveur Web. Téléchargez le fichier HTML. Créez un nom de domaine. Acheminez la demande.

Oui, Node.js est accessible de l’extérieur. Vous pouvez utiliser les méthodes suivantes : Utilisez Cloud Functions pour déployer la fonction et la rendre accessible au public. Utilisez le framework Express pour créer des itinéraires et définir des points de terminaison. Utilisez Nginx pour inverser les requêtes de proxy vers les applications Node.js. Utilisez des conteneurs Docker pour exécuter des applications Node.js et les exposer via le mappage de ports.

Pour déployer et maintenir avec succès un site Web PHP, vous devez effectuer les étapes suivantes : Sélectionnez un serveur Web (tel qu'Apache ou Nginx) Installez PHP Créez une base de données et connectez PHP Téléchargez le code sur le serveur Configurez le nom de domaine et la maintenance du site Web de surveillance DNS les étapes comprennent la mise à jour de PHP et des serveurs Web, la sauvegarde du site Web, la surveillance des journaux d'erreurs et la mise à jour du contenu.

Une tâche importante pour les administrateurs Linux est de protéger le serveur contre les attaques ou les accès illégaux. Par défaut, les systèmes Linux sont livrés avec des pare-feu bien configurés, tels que iptables, Uncomplicated Firewall (UFW), ConfigServerSecurityFirewall (CSF), etc., qui peuvent empêcher diverses attaques. Toute machine connectée à Internet est une cible potentielle d'attaques malveillantes. Il existe un outil appelé Fail2Ban qui peut être utilisé pour atténuer les accès illégaux sur le serveur. Qu’est-ce que Fail2Ban ? Fail2Ban[1] est un logiciel de prévention des intrusions qui protège les serveurs des attaques par force brute. Il est écrit en langage de programmation Python

Comment mettre en œuvre les meilleures pratiques de sécurité PHP PHP est l'un des langages de programmation Web backend les plus populaires utilisés pour créer des sites Web dynamiques et interactifs. Cependant, le code PHP peut être vulnérable à diverses failles de sécurité. La mise en œuvre des meilleures pratiques de sécurité est essentielle pour protéger vos applications Web contre ces menaces. Validation des entrées La validation des entrées est une première étape essentielle pour valider les entrées utilisateur et empêcher les entrées malveillantes telles que l'injection SQL. PHP fournit une variété de fonctions de validation d'entrée, telles que filter_var() et preg_match(). Exemple : $username=filter_var($_POST['username'],FILTER_SANIT
