Rumah pembangunan bahagian belakang tutorial php Gabungan sempurna Docker Compose, Nginx dan MariaDB: amalan terbaik untuk menggunakan aplikasi PHP

Gabungan sempurna Docker Compose, Nginx dan MariaDB: amalan terbaik untuk menggunakan aplikasi PHP

Oct 12, 2023 am 11:24 AM
docker nginx mariadb

Docker Compose、Nginx和MariaDB的完美组合:部署PHP应用程序的最佳实践

Gabungan sempurna Docker Compose, Nginx dan MariaDB: Amalan terbaik untuk menggunakan aplikasi PHP

Petikan:
Di zaman moden era Dalam pembangunan aplikasi web, penggunaan teknologi kontena telah menjadi satu trend. Teknologi kontena boleh membungkus aplikasi dan kebergantungannya ke dalam satu bekas, supaya aplikasi boleh dijalankan dalam mana-mana persekitaran yang menyokong teknologi kontena. Docker pada masa ini ialah teknologi kontena paling popular, yang boleh memudahkan penggunaan, pengurusan dan pengembangan aplikasi.

Untuk aplikasi web yang dibangunkan dengan PHP, kami boleh menggunakan Docker Compose untuk mengurus berbilang bekas, termasuk Nginx, PHP, pangkalan data, dsb. Artikel ini akan memperkenalkan cara menggunakan Docker Compose, Nginx dan MariaDB untuk menggunakan dan mengurus aplikasi PHP dan menyediakan contoh kod khusus.

  1. Pasang Docker dan Docker Compose
    Pertama, kita perlu memasang Docker dan Docker Compose pada hos. Anda boleh melawati tapak web rasmi Docker (https://www.docker.com/) untuk memuat turun dan memasang. Selepas pemasangan selesai, kami boleh mengesahkan sama ada Docker dipasang dengan betul dengan menjalankan arahan berikut:

    docker --version
    docker-compose --version
    Salin selepas log masuk
  2. Buat fail Karang Docker
    Buat Karang Docker fail dalam direktori akar projek Fail bernama docker-compose.yml yang mentakrifkan perkhidmatan aplikasi dan konfigurasi yang sepadan. Berikut ialah contoh fail docker-compose.yml yang mudah:

    version: '3'
    services:
      web:
     build:
       context: .
       dockerfile: Dockerfile
     ports:
       - 80:80
     volumes:
       - ./src:/var/www/html
     depends_on:
       - db
      db:
     image: mariadb
     environment:
       MYSQL_ROOT_PASSWORD: 123456
       MYSQL_DATABASE: mydb
       MYSQL_USER: user
       MYSQL_PASSWORD: password
     volumes:
       - db-data:/var/lib/mysql
    volumes:
      db-data:
    Salin selepas log masuk

    Fail docker-compose.yml di atas mentakrifkan dua perkhidmatan, satu ialah perkhidmatan web untuk menjalankan Nginx dan PHP, dan satu lagi Adakah perkhidmatan db, digunakan untuk menjalankan MariaDB. Perkhidmatan web mendedahkan port 80 kepada hos luaran dan memetakan folder src dalam direktori projek ke direktori /var/www/html dalam bekas. Perkhidmatan db menetapkan pembolehubah persekitaran MariaDB dan volum data untuk penyimpanan data pangkalan data yang berterusan.

  3. Buat Dockerfile
    Untuk membina imej tersuai yang diperlukan untuk perkhidmatan web, kami perlu mencipta fail bernama Dockerfile dalam direktori projek. Berikut ialah contoh fail Docker yang mudah:

    FROM php:7.4-fpm
    RUN docker-php-ext-install pdo_mysql
    WORKDIR /var/www/html
    Salin selepas log masuk

    Fail Docker di atas adalah berdasarkan imej php:7.4-fpm rasmi, telah memasang sambungan pdo_mysql dan menetapkan direktori kerja kepada /var/www /html.

  4. Mulakan bekas
    Laksanakan arahan berikut dalam direktori akar projek untuk memulakan bekas:

    docker-compose up -d
    Salin selepas log masuk

    Dengan menjalankan arahan di atas, Docker akan Mulakan perkhidmatan web dan db mengikut konfigurasi dalam fail docker-compose.yml. Parameter -d menunjukkan menjalankan bekas dalam mod latar belakang.

  5. Mengkonfigurasi Nginx
    Untuk membolehkan Nginx memajukan permintaan dengan betul kepada aplikasi PHP dalam perkhidmatan web, kami perlu menambah konfigurasi berikut pada konfigurasi Item Nginx:

    server {
     listen 80;
     server_name localhost;
     root /var/www/html;
     index index.php index.html;
    
     location / {
         try_files $uri $uri/ /index.php?$query_string;
     }
    
     location ~ .php$ {
         fastcgi_pass web:9000;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
     }
    }
    Salin selepas log masuk

    Fail konfigurasi di atas memajukan permintaan kepada proses PHP-FPM yang dijalankan dalam perkhidmatan web dan menghantar pembolehubah persekitaran berkaitan PHP kepada PHP-FPM.

  6. Menulis aplikasi PHP
    Tulis kod aplikasi PHP dalam folder src di bawah direktori projek. Di sini kami mengambil program Hello World yang ringkas sebagai contoh:

    <?php
    echo "Hello World!";
    Salin selepas log masuk
  7. Lawati aplikasi
    Anda boleh melihat PHP yang sedang berjalan dalam penyemak imbas dengan mengakses http://localhost app.

Ringkasan:
Dengan menggunakan gabungan Docker Compose, Nginx dan MariaDB, kami boleh menggunakan dan mengurus aplikasi PHP dengan mudah. Docker Compose menyediakan cara yang mudah dan berkuasa untuk mentakrif dan menjalankan berbilang bekas, Nginx sebagai pelayan web boleh mengendalikan sejumlah besar permintaan serentak, dan MariaDB menyediakan perkhidmatan pangkalan data yang stabil dan boleh dipercayai. Kami berharap melalui pengenalan dan contoh dalam artikel ini, pembaca dapat memahami dan menggunakan teknologi ini dengan lebih baik dan mendapat manfaat daripadanya dalam projek sebenar.

Atas ialah kandungan terperinci Gabungan sempurna Docker Compose, Nginx dan MariaDB: amalan terbaik untuk menggunakan aplikasi PHP. 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Cara keluar dari bekas dengan Docker Cara keluar dari bekas dengan Docker Apr 15, 2025 pm 12:15 PM

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)

Cara menyalin fail di Docker ke luar Cara menyalin fail di Docker ke luar Apr 15, 2025 pm 12:12 PM

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Cara mengemas kini imej Docker Cara mengemas kini imej Docker Apr 15, 2025 pm 12:03 PM

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara memulakan semula Docker Cara memulakan semula Docker Apr 15, 2025 pm 12:06 PM

Cara memulakan semula bekas Docker: Dapatkan ID Container (Docker PS); Hentikan bekas (Docker Stop & lt; container_id & gt;); Mulakan bekas (Docker Start & lt; container_id & gt;); Sahkan bahawa permulaan semula berjaya (Docker PS). Kaedah lain: Docker mengarang (Docker-Compose Restart) atau Docker API (lihat Dokumentasi Docker).

Cara Melihat Proses Docker Cara Melihat Proses Docker Apr 15, 2025 am 11:48 AM

Kaedah Melihat Proses Docker: 1. Docker CLI Command: Docker PS; 2. Systemd CLI Command: Sistem Status SistemCTL; 3. Docker mengarang arahan CLI: Docker-Compose PS; 4 Proses Explorer (Windows); 5. /Direktori Proc (Linux).

Cara Memulakan MySQL oleh Docker Cara Memulakan MySQL oleh Docker Apr 15, 2025 pm 12:09 PM

Proses memulakan MySQL di Docker terdiri daripada langkah -langkah berikut: Tarik imej MySQL untuk membuat dan memulakan bekas, tetapkan kata laluan pengguna root, dan memetakan sambungan pengesahan port Buat pangkalan data dan pengguna memberikan semua kebenaran ke pangkalan data

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

See all articles