Rumah pembangunan bahagian belakang tutorial php Amalan Terbaik untuk Docker Compose, Nginx dan MariaDB: Memantau dan Mengoptimumkan Aplikasi PHP yang Digunakan

Amalan Terbaik untuk Docker Compose, Nginx dan MariaDB: Memantau dan Mengoptimumkan Aplikasi PHP yang Digunakan

Oct 12, 2023 pm 02:19 PM
docker nginx mariadb

Docker Compose、Nginx和MariaDB的最佳实践:部署PHP应用程序的监控与优化

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.

  1. Persediaan:
    Sebelum bermula, pastikan Docker dan Docker Compose telah dipasang, dan dapatkan imej PHP.
  2. Buat fail Docker Compose:
    Buat fail bernama docker-compose.yml dan tentukan konfigurasi bekas dalam fail. Berikut ialah contoh:
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
Salin selepas log masuk

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.

  1. Konfigurasikan Nginx:
    Dalam langkah sebelumnya, kami telah menentukan perkhidmatan Nginx dan memasang fail konfigurasi bernama nginx.conf. Kita perlu mencipta fail ini pada mesin hos dan mengkonfigurasinya dalam fail. Berikut ialah contoh konfigurasi nginx.conf yang mudah:
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;
        }
    }
}
Salin selepas log masuk

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.

  1. Konfigurasikan MariaDB:
    Dalam langkah sebelumnya, kami telah menentukan perkhidmatan MariaDB dan menetapkan kata laluan root. Apabila menyambung ke pangkalan data dalam aplikasi anda, anda perlu menggunakan alamat dan kata laluan yang betul. Berikut ialah contoh kod PHP untuk menyambung ke MariaDB:
<?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();
?>
Salin selepas log masuk

Dalam contoh ini, kami menggunakan mariadb sebagai nama hos dan kata laluan akar yang ditakrifkan sebelum ini.

  1. Mulakan bekas:
    Selepas melengkapkan konfigurasi di atas, kita boleh menggunakan arahan berikut untuk memulakan bekas:
docker-compose up -d
Salin selepas log masuk

Arahan ini akan memulakan semua perkhidmatan yang ditentukan dan dijalankan di latar belakang.

  1. Pemantauan dan Pengoptimuman:
    Selepas menggunakan aplikasi PHP melalui Docker Compose, pemantauan dan pengoptimuman juga merupakan bahagian yang sangat penting. Berikut ialah beberapa kaedah pemantauan dan pengoptimuman yang biasa digunakan:
  • Gunakan perintah statistik docker untuk menyemak penggunaan sumber setiap bekas dan anda boleh menemui keabnormalan dan kesesakan prestasi dalam masa. docker stats命令查看各个容器的资源使用情况,可以及时发现异常和性能瓶颈。
  • 使用docker-compose logs
  • Gunakan perintah docker-compose logs untuk melihat maklumat log bekas untuk mengesan ralat dan masalah dengan cepat.
  • Gunakan alat pemantauan seperti Prometheus dan Grafana untuk mengumpul dan memaparkan penunjuk prestasi aplikasi supaya langkah tepat pada masanya dapat diambil.
  • Untuk pengoptimuman aplikasi PHP, anda boleh mempertimbangkan untuk menggunakan mekanisme caching, mengoptimumkan pertanyaan pangkalan data, melaraskan parameter konfigurasi PHP, dsb.


Kesimpulan:

Artikel ini memperkenalkan cara menggunakan Docker Compose, Nginx dan MariaDB untuk menggunakan dan mengoptimumkan aplikasi PHP, memberikan contoh kod khusus. Melalui penggunaan kontena, kami boleh mengurus dan mengembangkan aplikasi dengan mudah, serta meningkatkan prestasi dan kestabilan aplikasi melalui pemantauan dan pengoptimuman. Saya harap artikel ini membantu anda semasa menggunakan aplikasi PHP. 🎜

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? Mar 05, 2025 pm 05:57 PM

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Cara Memasang DeepSeek Cara Memasang DeepSeek Feb 19, 2025 pm 05:48 PM

Terdapat banyak cara untuk memasang DeepSeek, termasuk: Menyusun dari Sumber (untuk pemaju berpengalaman) menggunakan pakej yang dikompilasi (untuk pengguna Windows) menggunakan bekas docker (untuk yang paling mudah, tidak perlu bimbang tentang keserasian) Dokumen rasmi dengan berhati -hati dan menyediakannya sepenuhnya untuk mengelakkan masalah yang tidak perlu.

Sebarkan aplikasi JavaEE menggunakan Docker Containers Sebarkan aplikasi JavaEE menggunakan Docker Containers Jun 05, 2024 pm 08:29 PM

Gunakan aplikasi Java EE menggunakan bekas Docker: Cipta Fail Docker untuk mentakrifkan imej, bina imej, jalankan bekas dan petakan port, dan kemudian akses aplikasi dalam penyemak imbas. Contoh aplikasi JavaEE: REST API berinteraksi dengan pangkalan data, boleh diakses pada localhost selepas penggunaan melalui Docker.

Bagaimana untuk menggunakan PHP CI/CD untuk lelaran dengan cepat? Bagaimana untuk menggunakan PHP CI/CD untuk lelaran dengan cepat? May 08, 2024 pm 10:15 PM

Jawapan: Gunakan PHPCI/CD untuk mencapai lelaran pantas, termasuk menyediakan saluran paip CI/CD, ujian automatik dan proses penggunaan. Sediakan saluran paip CI/CD: Pilih alat CI/CD, konfigurasikan repositori kod dan tentukan saluran paip binaan. Ujian automatik: Tulis ujian unit dan penyepaduan dan gunakan rangka kerja ujian untuk memudahkan ujian. Kes praktikal: Menggunakan TravisCI: Pasang TravisCI, tentukan saluran paip, dayakan saluran paip dan lihat hasilnya. Laksanakan penyampaian berterusan: pilih alatan pengerahan, tentukan saluran paip pengerahan dan automatik penggunaan. Faedah: Meningkatkan kecekapan pembangunan, mengurangkan ralat dan memendekkan masa penghantaran.

Cara memasang sambungan Docker dalam vscode Langkah-langkah untuk memasang sambungan Docker dalam vscode Cara memasang sambungan Docker dalam vscode Langkah-langkah untuk memasang sambungan Docker dalam vscode May 09, 2024 pm 03:25 PM

1. Mula-mula, selepas membuka antara muka, klik butang ikon sambungan di sebelah kiri 2. Kemudian, cari lokasi bar carian di halaman sambungan yang dibuka 3. Kemudian, masukkan perkataan Docker dengan tetikus untuk mencari pemalam sambungan 4 . Akhir sekali, pilih pemalam sasaran dan klik kanan Hanya klik butang pasang di sudut bawah

Akses fail tapak WordPress adalah terhad: Mengapa fail .txt saya tidak boleh diakses melalui nama domain? Akses fail tapak WordPress adalah terhad: Mengapa fail .txt saya tidak boleh diakses melalui nama domain? Apr 01, 2025 pm 03:00 PM

Akses fail tapak WordPress adalah terhad: Menyelesaikan masalah sebab mengapa fail .txt tidak dapat diakses baru -baru ini. Sebilangan pengguna menghadapi masalah ketika mengkonfigurasi nama domain perniagaan program mini: � ...

Mengapa ralat berlaku semasa memasang pelanjutan menggunakan PECL dalam persekitaran Docker? Bagaimana menyelesaikannya? Mengapa ralat berlaku semasa memasang pelanjutan menggunakan PECL dalam persekitaran Docker? Bagaimana menyelesaikannya? Apr 01, 2025 pm 03:06 PM

Punca dan penyelesaian untuk kesilapan Apabila menggunakan PECL untuk memasang sambungan dalam persekitaran Docker Apabila menggunakan persekitaran Docker, kami sering menemui beberapa sakit kepala ...

Panduan lengkap untuk penggunaan dalam kontena perkhidmatan mikro PHP Panduan lengkap untuk penggunaan dalam kontena perkhidmatan mikro PHP May 08, 2024 pm 05:06 PM

Panduan Lengkap untuk Penerapan Kontena Perkhidmatan Mikro PHP Pengenalan Seni bina perkhidmatan mikro telah menjadi trend hangat dalam pembangunan perisian moden, yang menguraikan aplikasi menjadi perkhidmatan bebas yang digabungkan secara longgar. Pengkontenaan menyediakan cara yang berkesan untuk menggunakan dan mengurus perkhidmatan mikro ini. Artikel ini akan menyediakan panduan langkah demi langkah untuk membantu anda menyimpan dan menggunakan perkhidmatan mikro menggunakan PHPDocker. Asas Docker Docker ialah platform kontena ringan yang membungkus aplikasi dan semua kebergantungannya ke dalam bekas mudah alih. Langkah berikut menerangkan cara menggunakan Docker: #Install Dockersudoapt-getupdatesudoapt-getinstalldock

See all articles