Rumah pembangunan bahagian belakang tutorial php Gabungan sempurna Docker Compose, Nginx dan MariaDB: Mengendalikan dan menyelenggara aplikasi PHP dengan cekap

Gabungan sempurna Docker Compose, Nginx dan MariaDB: Mengendalikan dan menyelenggara aplikasi PHP dengan cekap

Oct 12, 2023 am 09:58 AM
docker nginx mariadb

Docker Compose、Nginx和MariaDB的完美结合:高效运维PHP应用程序

Gabungan sempurna Docker Compose, Nginx dan MariaDB: Mengendalikan dan menyelenggara aplikasi PHP dengan cekap

Pengenalan

Dengan perkembangan pesat teknologi pengkomputeran awan dan kontena, Docker telah menjadi salah satu alatan yang popular. Dalam pembangunan dan penggunaan aplikasi PHP, menggunakan gabungan Docker Compose, Nginx dan MariaDB boleh menyediakan penyelesaian operasi dan penyelenggaraan yang cekap. Artikel ini akan memperkenalkan cara menggunakan gabungan ini untuk menggunakan dan mengurus aplikasi PHP dengan cepat, serta menyediakan contoh kod khusus.

1. Docker Compose: Alat orkestrasi kontena yang ringkas dan cekap

Docker Compose ialah alat orkestrasi kontena yang ringkas dan cekap yang boleh mentakrifkan dan mengurus penggunaan berbilang bekas Docker melalui fail YAML. Sebelum menggunakan Docker Compose, kita perlu memasang Docker dan Docker Compose secara tempatan. Setelah dipasang, kami boleh mencipta fail docker-compose.yml untuk menentukan bekas untuk aplikasi PHP kami.

Sebagai contoh, berikut ialah contoh fail docker-compose.yml:

version: '3'
services:
  php:
    build:
      context: .
      dockerfile: Dockerfile
    restart: always
    ports:
      - 8000:80
    volumes:
      - ./src:/var/www/html
    depends_on:
      - mariadb
    links:
      - mariadb
  nginx:
    image: nginx:latest
    restart: always
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./src:/var/www/html
    depends_on:
      - php
  mariadb:
    image: mariadb:latest
    restart: always
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=myapp
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypassword
    volumes:
      - ./data:/var/lib/mysql
Salin selepas log masuk

Dalam contoh di atas, kami telah mentakrifkan tiga perkhidmatan: php, nginx dan mariadb. Perkhidmatan php menggunakan Dockerfile tersuai kami untuk membina bekas. Ia mengikat port 8000 hos ke port 80 bekas, dan melekapkan direktori ./src hos ke direktori /var/www/html bekas. Perkhidmatan nginx secara langsung menggunakan imej nginx yang disediakan secara rasmi dan mengikat port 80 hos ke port 80 bekas. Ia juga melekapkan direktori ./src hos ke direktori /var/www/html bekas dan menyesuaikan konfigurasi nginx melalui fail ./nginx.conf. Perkhidmatan mariadb menggunakan imej mariadb yang disediakan secara rasmi dan mengikat port 3306 hos ke port 3306 kontena. Pada masa yang sama, kami juga menentukan pembolehubah persekitaran mariadb dan pemasangan volum.

2. Nginx: Pelayan Web berprestasi tinggi

Nginx ialah pelayan Web berprestasi tinggi dan pelayan proksi terbalik. Dalam aplikasi PHP kami, menggunakan Nginx sebagai pelayan web bahagian hadapan boleh memberikan kelajuan tindak balas permintaan yang lebih pantas dan keupayaan pemprosesan serentak yang lebih baik. Kami boleh menggunakan dan mengurus Nginx melalui bekas Docker.

Sebagai contoh, kami boleh menggunakan Nginx dengan mentakrifkan perkhidmatan nginx dalam fail docker-compose.yml di atas. Pada masa yang sama, anda boleh menyesuaikan konfigurasi Nginx dengan memasang fail ./nginx.conf.

Berikut ialah contoh fail nginx.conf mudah:

worker_processes auto;
events {
    worker_connections 1024;
}
http {
    sendfile on;
    default_type application/octet-stream;
    server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm;
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ .php$ {
            fastcgi_pass php:9000;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
        }
    }
}
Salin selepas log masuk

Dalam contoh di atas, kami telah menentukan konfigurasi pelayan Nginx asas. Kami menetapkan direktori akar Nginx kepada /var/www/html, menentukan fail indeks lalai, dan mengkonfigurasi peraturan pemprosesan untuk fail PHP. Di sini kami memajukan fail PHP ke port 9000 perkhidmatan PHP melalui arahan fastcgi_pass.

3. MariaDB: Sistem pengurusan pangkalan data yang boleh dipercayai

MariaDB ialah sistem pengurusan pangkalan data hubungan yang serasi dengan MySQL. Dalam aplikasi PHP kami, kami boleh menggunakan MariaDB untuk menyimpan dan mengurus data. Menggunakan dan mengurus MariaDB melalui bekas Docker boleh menyediakan perkhidmatan pangkalan data yang boleh dipercayai.

Sebagai contoh, gunakan MariaDB dengan mentakrifkan perkhidmatan mariadb dalam fail docker-compose.yml di atas. Pada masa yang sama, anda boleh menetapkan kata laluan akar, nama pangkalan data, nama pengguna dan kata laluan dengan menentukan pembolehubah persekitaran.

Di atas ialah langkah asas dan kod contoh untuk menggunakan Docker Compose, Nginx dan MariaDB untuk mengendalikan dan menyelenggara aplikasi PHP dengan cekap. Dengan menggunakan gabungan ini, kami boleh menggunakan dan mengurus aplikasi PHP dengan cepat dan menyediakan persekitaran berjalan yang berprestasi tinggi dan boleh dipercayai.

Ringkasan

Artikel ini menerangkan cara menggunakan gabungan Docker Compose, Nginx dan MariaDB untuk menggunakan dan mengurus aplikasi PHP dengan cepat. Melalui contoh kod konkrit, kami menunjukkan cara untuk mentakrif dan mengurus bekas melalui fail YAML Docker Compose, cara menggunakan Nginx sebagai pelayan web untuk memberikan prestasi yang lebih baik dan cara menggunakan MariaDB untuk menyimpan dan mengurus data. Dengan menggunakan gabungan ini, kami boleh mencapai matlamat untuk mengendalikan dan menyelenggara aplikasi PHP dengan mudah dengan cekap.

Atas ialah kandungan terperinci Gabungan sempurna Docker Compose, Nginx dan MariaDB: Mengendalikan dan menyelenggara aplikasi PHP dengan cekap. 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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan 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)

Cara membuat cermin di Docker Cara membuat cermin di Docker Apr 15, 2025 am 11:27 AM

Langkah -langkah untuk membuat imej Docker: Tulis Dockerfile yang mengandungi arahan membina. Bina imej di terminal, menggunakan arahan membina Docker. Tag imej dan tetapkan nama dan tag menggunakan arahan tag docker.

Cara Mengubah Sumber Imej Docker di China Cara Mengubah Sumber Imej Docker di China Apr 15, 2025 am 11:30 AM

Anda boleh beralih ke sumber cermin domestik. Langkah -langkah adalah seperti berikut: 1. Edit fail konfigurasi /etc/docker/daemon.json dan tambahkan alamat sumber cermin; 2. Selepas menyimpan dan keluar, mulakan semula perkhidmatan Docker Sudo SystemCtl Docker untuk meningkatkan kelajuan muat turun dan kestabilan imej.

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).

Cara Membaca Versi Docker Cara Membaca Versi Docker Apr 15, 2025 am 11:51 AM

Untuk mendapatkan versi Docker, anda boleh melakukan langkah -langkah berikut: Jalankan arahan Docker "Docker -version" untuk melihat versi klien dan pelayan. Untuk MAC atau Windows, anda juga boleh melihat maklumat versi melalui tab versi Docktop GUI atau menu desktop Docker.

Cara mengimport gambar Docker Cara mengimport gambar Docker Apr 15, 2025 am 08:24 AM

Mengimport imej di Docker melibatkan mendapatkan imej kontena yang dibina dari repositori jauh dan mengimportnya ke repositori tempatan. Langkah -langkah termasuk: Tarik imej (Docker Pull) Senaraikan imej Docker (imej docker) dan import imej ke repositori tempatan (Docker Import)

Cara Membina Repositori Swasta oleh Docker Cara Membina Repositori Swasta oleh Docker Apr 15, 2025 am 11:06 AM

Anda boleh membina repositori peribadi Docker untuk menyimpan dan menguruskan imej kontena dengan selamat, memberikan kawalan dan keselamatan yang ketat. Langkah -langkah termasuk: mewujudkan repositori, memberikan akses, mengerahkan repositori, menolak imej, dan menarik imej. Kelebihan termasuk keselamatan, kawalan versi, mengurangkan trafik rangkaian dan penyesuaian.

Cara memanggil Docker LNMP Cara memanggil Docker LNMP Apr 15, 2025 am 11:15 AM

Docker LNMP Container Call Langkah: Jalankan bekas: Docker Run -D -Name LNMP -Container -P 80:80 -P 443: 443 LNMP -Stack Untuk mendapatkan IP Container: Docker Memeriksa LNMP -Container | GREP IPADDRESS ACCESS Laman web: http: // & lt; container ip & gt; /index.phpssh akses: docker exec -it lnmp -container bash akses mysql: mysql -u roo

Cara Menyelamatkan Gambar Docker Cara Menyelamatkan Gambar Docker Apr 15, 2025 am 11:54 AM

Untuk menyimpan imej di Docker, anda boleh menggunakan arahan Docker Commit untuk membuat imej baru, yang mengandungi keadaan semasa bekas yang ditentukan, Sintaks: Docker Commit [Options] Nama Imej Container ID. Untuk menyimpan imej ke repositori, anda boleh menggunakan arahan PUSH Docker, Sintaks: Docker Push Nama Imej [: TAG]. Untuk mengimport imej yang disimpan, anda boleh menggunakan arahan tarik docker, sintaks: docker tarik nama imej [: tag].

See all articles