Amalan Terbaik untuk Docker Compose, Nginx dan MariaDB: Pemantauan dan Pengoptimuman Aplikasi PHP yang Digunakan
Pengenalan:
Dalam pembangunan aplikasi moden, kontena telah menjadi cara popular untuk membantu kami Mengurus dan menggunakan aplikasi dengan lebih cekap. Docker Compose ialah alat untuk mentakrif dan menjalankan berbilang bekas, yang memudahkan proses penggunaan dan pengurusan aplikasi. Artikel ini akan memperkenalkan cara menggunakan Docker Compose digabungkan dengan Nginx dan MariaDB untuk menggunakan dan mengoptimumkan aplikasi PHP, dan memberikan contoh kod khusus.
version: '3' services: nginx: image: nginx ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - php php: image: php:7.4-fpm volumes: - ./php.ini:/usr/local/etc/php/php.ini - ./app:/var/www/html depends_on: - mariadb mariadb: image: mariadb environment: - MYSQL_ROOT_PASSWORD=123456 volumes: - ./data:/var/lib/mysql
Dalam contoh ini, kami mempunyai tiga perkhidmatan yang ditakrifkan: nginx, php dan mariadb. Perkhidmatan nginx akan mendengar port 80 hos dan memajukan permintaan kepada perkhidmatan php untuk diproses. Perkhidmatan php menggunakan imej php:7.4-fpm dan memasang php.ini dan direktori fail aplikasi. Perkhidmatan mariadb menggunakan cermin mariadb, menetapkan kata laluan akar pangkalan data dan melekapkan direktori data.
worker_processes auto; events { worker_connections 1024; } http { # 其他配置项省略 server { listen 80; server_name localhost; root /var/www/html; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } }
Dalam contoh ini, kami mengkonfigurasi bilangan proses pekerja Nginx, bilangan sambungan acara dan perkhidmatan http. Dalam blok pelayan, kami menentukan kaedah mendengar port 80, menetapkan direktori akar dan memproses skrip PHP. Beri perhatian untuk mengubah suai arahan fastcgi_pass kepada alamat kontena perkhidmatan PHP.
<?php $host = 'mariadb'; $user = 'root'; $password = '123456'; $database = 'mydb'; $conn = new mysqli($host, $user, $password, $database); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; $conn->close(); ?>
Dalam contoh ini, kami menggunakan mariadb sebagai nama hos dan kata laluan akar yang ditakrifkan sebelum ini.
docker-compose up -d
Arahan ini akan memulakan semua perkhidmatan yang ditentukan dan dijalankan di latar belakang.
statistik docker
untuk menyemak penggunaan sumber setiap bekas dan anda boleh menemui keabnormalan dan kesesakan prestasi dalam masa. docker stats
命令查看各个容器的资源使用情况,可以及时发现异常和性能瓶颈。docker-compose logs
docker-compose logs
untuk melihat maklumat log bekas untuk mengesan ralat dan masalah dengan cepat.
Kesimpulan:
Atas ialah kandungan terperinci Amalan Terbaik untuk Docker Compose, Nginx dan MariaDB: Memantau dan Mengoptimumkan Aplikasi PHP yang Digunakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!