Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Amalan Terbaik untuk Docker Compose, Nginx dan MariaDB: Penyepaduan Proses untuk Menggunakan Aplikasi PHP

Amalan Terbaik untuk Docker Compose, Nginx dan MariaDB: Penyepaduan Proses untuk Menggunakan Aplikasi PHP

王林
王林asal
2023-10-12 14:03:151078semak imbas

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

Amalan Terbaik untuk Docker Compose, Nginx dan MariaDB: Penyepaduan Proses untuk Menggunakan Aplikasi PHP

Pengenalan:
Dengan perkembangan pesat teknologi pengkomputeran awan dan kontena, Docker telah menjadi kunci kepada pembangunan dan penggunaan aplikasi moden cara yang penting. Di antara banyak alatan Docker, Docker Compose, sebagai alat untuk mengatur perkhidmatan kontena, digunakan secara meluas dalam penggunaan dan pengurusan aplikasi berbilang bekas. Nginx dan MariaDB, seperti perisian sumber terbuka yang biasa digunakan, juga memainkan peranan penting dalam banyak senario aplikasi.

Artikel ini akan memperkenalkan cara mengintegrasikan Nginx dan MariaDB melalui Docker Compose untuk menggunakan aplikasi PHP. Kami akan menerangkannya dalam langkah berikut: penyediaan, mencipta fail Docker Compose, menulis konfigurasi Nginx, menulis aplikasi PHP, memulakan bekas dan mengakses aplikasi.

1. Persediaan
Sebelum kita mula, kita perlu memasang Docker dan Docker Compose dalam persekitaran setempat. Sila pastikan bahawa sistem mempunyai versi terkini Docker dan Docker Compose dipasang dengan betul dan berjalan dengan betul.

2. Buat fail Docker Compose
Buat fail bernama docker-compose.yml dalam direktori akar projek. Fail ini akan mentakrifkan semua perkhidmatan kontena yang kami perlukan untuk menyepadukan aplikasi.

version: '3'
services:
  web:
    build: .
    ports:
      - 80:80
    volumes:
      - ./app:/var/www/html
    depends_on:
      - db
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    volumes:
      - ./db:/var/lib/mysql

Dalam fail Docker Compose di atas, dua perkhidmatan ditakrifkan: web dan db. Melayan web akan membina kod dalam direktori semasa dan memetakan port tempatan 80 ke port kontena 80. Perkhidmatan db menggunakan versi terkini imej MariaDB, dan pembolehubah persekitaran MYSQL_ROOT_PASSWORD ditetapkan untuk menentukan kata laluan akar pangkalan data.

3. Tulis konfigurasi Nginx
Buat fail bernama nginx.conf dalam direktori akar projek dan tulis kandungan konfigurasi Nginx. Berikut ialah contoh konfigurasi asas Nginx:

server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Dalam fail konfigurasi Nginx di atas, kami mentakrifkan port pendengaran sebagai 80 dan nama pelayan sebagai localhost. Direktori akar ditetapkan sebagai /var/www/html/public, dan index.php ditetapkan sebagai fail indeks lalai. Pada masa yang sama, kami menentukan dua blok lokasi, yang digunakan untuk memproses fail statik dan memproses permintaan fail PHP.

4. Tulis aplikasi PHP
Tulis kod untuk aplikasi PHP dalam direktori aplikasi. Berikut ialah program Hello World yang ringkas sebagai contoh Buat fail baharu bernama index.php dan tambah kod berikut:

<?php
echo "Hello World!";

5. Mulakan bekas
Dalam terminal, masukkan direktori akar projek dan jalankan arahan berikut. untuk memulakan Container:

docker-compose up -d

Perintah ini akan membina dan memulakan bekas berdasarkan definisi dalam fail Docker Compose. Tunggu seketika. Selepas bekas berjaya dimulakan, anda akan melihat maklumat log yang serupa dengan yang berikut:

Creating network "docker_default" with the default driver
Creating docker_web_1 ... done
Creating docker_db_1  ... done

6. Akses aplikasi
Lawati http://localhost dalam pelayar, anda akan melihat output "Hello World ! ", yang bermaksud bahawa aplikasi PHP telah berjaya digunakan.

7. Ringkasan
Melalui pengenalan artikel ini, kami telah mempelajari cara menyepadukan dan menggunakan aplikasi PHP melalui Docker Compose, Nginx dan MariaDB. Penyepaduan ini memudahkan untuk membina dan mengurus perkhidmatan kontena yang kompleks serta memanjang dan menyesuaikan komponen aplikasi dengan mudah. Pada masa yang sama, kaedah penggunaan ini juga menyediakan mudah alih yang baik, membolehkan kami memindahkan dan menggunakan aplikasi dengan mudah dalam persekitaran yang berbeza.

Sila ambil perhatian bahawa artikel ini hanya menyediakan contoh asas dan mungkin terdapat lebih banyak konfigurasi dan pelarasan dalam penggunaan aplikasi sebenar. Melalui contoh ini, saya berharap pembaca boleh mempunyai pemahaman asas tentang penyepaduan Docker Compose, Nginx dan MariaDB, dan membuat pelarasan fleksibel selanjutnya dalam aplikasi praktikal.

Atas ialah kandungan terperinci Amalan Terbaik untuk Docker Compose, Nginx dan MariaDB: Penyepaduan Proses untuk Menggunakan Aplikasi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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