


Pemantauan dan pengurusan log aplikasi PHP menggunakan Docker Compose, Nginx dan MariaDB
Gunakan Docker Compose, Nginx dan MariaDB untuk melaksanakan pemantauan dan pengurusan log aplikasi PHP
Pemantauan dan pengurusan log adalah bahagian yang sangat penting semasa membangunkan dan mengendalikan aplikasi web. Menggunakan Docker Compose, Nginx dan MariaDB, kami boleh melaksanakan penyelesaian pemantauan dan pengurusan log yang lengkap.
Pertama, kita perlu menyediakan aplikasi PHP dan menulisnya sebagai imej Docker. Aplikasi PHP ini boleh menjadi halaman statik mudah atau aplikasi dinamik yang mengandungi kod PHP. Tidak kira yang mana satu, kita perlu membungkusnya ke dalam imej Docker.
Seterusnya, kita perlu menulis fail Docker Compose untuk menentukan keseluruhan persekitaran aplikasi kita. Dalam fail ini, kita perlu menentukan tiga perkhidmatan: Nginx, PHP dan 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
Dalam konfigurasi di atas, kami menentukan tiga perkhidmatan: web, php dan db. Perkhidmatan web menggunakan imej Nginx dan mengikat port 80 hos ke port 80 dalam bekas. Kami juga menentukan laluan pemasangan fail konfigurasi Nginx nginx.conf dan log direktori fail log.
Perkhidmatan php menggunakan imej PHP pakej kami sendiri, dan memasang direktori php dalam hos ke direktori /var/www/html dalam bekas, supaya aplikasi PHP kami boleh mengakses fail dalam direktori ini.
Perkhidmatan db menggunakan cermin MariaDB dan menetapkan kata laluan pengguna ROOT. Kami juga memasang direktori data untuk penyimpanan data pangkalan data yang berterusan.
Seterusnya, kami perlu menyediakan fail konfigurasi Nginx nginx.conf untuk mengkonfigurasi hos maya dan pengurusan log Nginx. Berikut ialah contoh mudah:
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; } }
Fail konfigurasi di atas mentakrifkan hos maya bernama localhost, yang mendengar pada port 80. Kami mengkonfigurasi log akses dan log ralat ke direktori /var/log/nginx masing-masing.
Seterusnya, kita perlu menulis skrip untuk menghuraikan dan menyimpan log. Kita boleh menulis skrip mudah menggunakan PHP untuk mencapai fungsi ini. Berikut ialah contoh:
<?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); } ?>
Dalam skrip di atas, kami menggunakan gelung mudah untuk membaca fail log baris demi baris dan menyimpan data log yang dihuraikan ke dalam pangkalan data. Logik penghuraian dan penyimpanan khusus perlu ditulis mengikut situasi sebenar.
Akhir sekali, kami perlu menambahkan skrip ini pada aplikasi PHP kami untuk melaksanakan penghuraian log dan operasi penyimpanan dengan kerap. Kita boleh menggunakan crontab untuk melaksanakan pelaksanaan berjadual. Berikut ialah contoh:
# 每分钟执行一次日志解析脚本 * * * * * php /var/www/html/log_parser.php
Tambahkan konfigurasi di atas pada crontab untuk melaksanakan skrip log_parser.php setiap minit.
Ringkasnya, menggunakan Docker Compose, Nginx dan MariaDB, kami boleh melaksanakan pemantauan dan pengurusan log aplikasi PHP dengan mudah. Dengan mengkonfigurasi hos maya dan pengurusan log Nginx, kami boleh menyimpan log akses dan log ralat dalam direktori tertentu. Kemudian, dengan menulis skrip yang menghuraikan log dan menambahkannya pada aplikasi PHP, kami boleh menghuraikan dan menyimpan data log ini secara tetap. Dengan cara ini, kami boleh memantau dan menyelesaikan masalah aplikasi dengan mudah.
Atas ialah kandungan terperinci Pemantauan dan pengurusan log aplikasi PHP menggunakan Docker Compose, Nginx dan MariaDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Untuk membenarkan pelayan Tomcat mengakses rangkaian luaran, anda perlu: mengubah suai fail konfigurasi Tomcat untuk membenarkan sambungan luaran. Tambahkan peraturan tembok api untuk membenarkan akses kepada port pelayan Tomcat. Buat rekod DNS yang menunjukkan nama domain ke IP awam pelayan Tomcat. Pilihan: Gunakan proksi terbalik untuk meningkatkan keselamatan dan prestasi. Pilihan: Sediakan HTTPS untuk meningkatkan keselamatan.

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Untuk menyelesaikan ralat "Selamat datang ke nginx!", anda perlu menyemak konfigurasi hos maya, dayakan hos maya, muat semula Nginx, jika fail konfigurasi hos maya tidak dapat ditemui, buat halaman lalai dan muat semula Nginx, kemudian mesej ralat akan hilang dan laman web akan menjadi paparan biasa.

Langkah-langkah penggunaan pelayan untuk projek Node.js: Sediakan persekitaran penggunaan: dapatkan akses pelayan, pasang Node.js, sediakan repositori Git. Bina aplikasi: Gunakan npm run build untuk menjana kod dan kebergantungan yang boleh digunakan. Muat naik kod ke pelayan: melalui Git atau Protokol Pemindahan Fail. Pasang kebergantungan: SSH ke dalam pelayan dan gunakan pemasangan npm untuk memasang kebergantungan aplikasi. Mulakan aplikasi: Gunakan arahan seperti node index.js untuk memulakan aplikasi, atau gunakan pengurus proses seperti pm2. Konfigurasikan proksi terbalik (pilihan): Gunakan proksi terbalik seperti Nginx atau Apache untuk menghalakan trafik ke aplikasi anda

Menukar fail HTML kepada URL memerlukan pelayan web, yang melibatkan langkah berikut: Dapatkan pelayan web. Sediakan pelayan web. Muat naik fail HTML. Buat nama domain. Halakan permintaan.

Arahan yang paling biasa digunakan dalam Dockerfile ialah: DARI: Cipta imej baharu atau terbitkan imej baharu RUN: Laksanakan arahan (pasang perisian, konfigurasikan sistem) COPY: Salin fail tempatan ke imej TAMBAH: Sama seperti COPY, ia boleh menyahmampat secara automatik tar arkib atau dapatkan fail URL CMD: Tentukan arahan apabila bekas bermula DEDAHKAN: Isytiharkan port mendengar kontena (tetapi tidak umum) ENV: Tetapkan pembolehubah persekitaran VOLUME: Pasang direktori hos atau volum tanpa nama WORKDIR: Tetapkan direktori kerja dalam bekas ENTRYPOINT: Tentukan perkara yang hendak dilaksanakan apabila bekas itu memulakan Fail Boleh laku (serupa dengan CMD, tetapi tidak boleh ditimpa)

Untuk berjaya menggunakan dan menyelenggara tapak web PHP, anda perlu melakukan langkah berikut: Pilih pelayan web (seperti Apache atau Nginx) Pasang PHP Cipta pangkalan data dan sambungkan PHP Muat naik kod ke pelayan Sediakan nama domain dan Pemantauan DNS penyelenggaraan tapak web langkah termasuk mengemas kini PHP dan pelayan web, dan membuat sandaran tapak web, memantau log ralat dan mengemas kini kandungan.

Ya, Node.js boleh diakses dari luar. Anda boleh menggunakan kaedah berikut: Gunakan Cloud Functions untuk menggunakan fungsi dan menjadikannya boleh diakses secara umum. Gunakan rangka kerja Express untuk membuat laluan dan menentukan titik akhir. Gunakan Nginx untuk membalikkan permintaan proksi kepada aplikasi Node.js. Gunakan bekas Docker untuk menjalankan aplikasi Node.js dan dedahkannya melalui pemetaan port.
