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

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

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

Docker Compose、Nginx和MariaDB的搭配之道:高效运维PHP应用程序

Cara memadankan Docker Compose, Nginx dan MariaDB: Operasi dan penyelenggaraan aplikasi PHP yang cekap

Pengenalan:

Dalam era Internet hari ini, permintaan dan skala aplikasi semakin meningkat, jadi penyelesaian operasi dan penggunaan yang cekap adalah penting. penting. Docker ialah platform kontena popular yang menyelesaikan kerumitan penggunaan dan pengurusan aplikasi. Docker Compose ialah alat Docker yang berkuasa yang membolehkan kami mentakrif dan mengurus gabungan berbilang bekas melalui fail konfigurasi mudah. Dalam artikel ini, kami akan memberi tumpuan kepada cara menggunakan Docker Compose dengan Nginx dan MariaDB untuk mengendalikan dan menyelenggara aplikasi PHP dengan cekap, serta menyediakan contoh kod khusus.

1. Pengenalan kepada Docker Compose

Docker Compose ialah alat yang dilancarkan secara rasmi oleh Docker untuk mentakrif dan mengurus berbilang bekas Docker. Melalui fail YAML yang ringkas, anda boleh dengan mudah menentukan berbilang bekas, kebergantungan antara bekas, konfigurasi rangkaian, dsb.

Faedah menggunakan Docker Compose termasuk:

  1. Proses penggunaan yang dipermudahkan: Dengan mentakrifkan fail konfigurasi, keseluruhan aplikasi boleh digunakan dengan cepat dan konsisten.
  2. Skala yang dipertingkatkan: Aplikasi boleh diskalakan dengan mudah merentas berbilang hos.
  3. Mudah diurus dan dipantau: Anda boleh memulakan, menghentikan, memulakan semula dan melihat log bekas melalui arahan Docker Compose.

2. Penggunaan Nginx

Nginx ialah pelayan web yang ringan dan berprestasi tinggi yang boleh digunakan sebagai pelayan proksi terbalik, pelayan pengimbangan beban, pelayan sumber statik dan tujuan lain. Dalam aplikasi PHP kami, kami boleh menggunakan Nginx sebagai pelayan proksi terbalik untuk memajukan permintaan ke pelayan PHP-FPM di bahagian belakang.

Berikut ialah contoh fail konfigurasi (docker-compose.yml) menggunakan Docker Compose dan Nginx:

version: '3'

services:
  nginx:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./public:/var/www/html

  php:
    image: php:7.4-fpm
    volumes:
      - ./public:/var/www/html

networks:
  default:
    external:
      name: my-network
Salin selepas log masuk

Dalam konfigurasi di atas, kami telah menentukan perkhidmatan bernama nginx dan perkhidmatan bernama php. Antaranya, perkhidmatan nginx menggunakan imej nginx rasmi dan memetakan port kontena 80 ke port 80 hos. Pada masa yang sama, kami melekapkan fail konfigurasi nginx (nginx.conf) dan direktori awam tempat aplikasi PHP kami terletak ke dalam bekas.

3. Penggunaan MariaDB

MariaDB ialah sistem pengurusan pangkalan data hubungan sumber terbuka dan cabang MySQL, menyediakan penyelesaian pangkalan data berprestasi tinggi dan kebolehpercayaan tinggi. Dalam aplikasi PHP kami, kami boleh menggunakan MariaDB sebagai pangkalan data backend.

Berikut ialah contoh fail konfigurasi (docker-compose.yml) menggunakan Docker Compose dan MariaDB:

version: '3'

services:
  db:
    image: mariadb:latest
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_DATABASE=my_database
      - MYSQL_USER=my_user
      - MYSQL_PASSWORD=my_password
    volumes:
      - ./data:/var/lib/mysql

  php:
    image: php:7.4-fpm
    volumes:
      - ./public:/var/www/html

networks:
  default:
    external:
      name: my-network
Salin selepas log masuk

Dalam konfigurasi di atas, kami telah menentukan perkhidmatan bernama db dan perkhidmatan bernama php. Antaranya, perkhidmatan db menggunakan imej MariaDB rasmi dan memetakan port 3306 kontena ke port 3306 hos. Kami juga menetapkan konfigurasi pangkalan data yang berkaitan melalui pembolehubah persekitaran, seperti kata laluan akar, nama pangkalan data, pengguna dan kata laluan, dsb. Pada masa yang sama, kami memasang folder pangkalan data ke dalam bekas untuk memastikan penyimpanan data yang berterusan.

4 Konfigurasi contoh lengkap

Berikut ialah konfigurasi contoh lengkap untuk pengendalian dan penyelenggaraan aplikasi PHP yang cekap menggunakan Docker Compose, Nginx dan MariaDB:

version: '3'

services:
  nginx:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./public:/var/www/html
    depends_on:
      - php
    networks:
      - my-network

  php:
    image: php:7.4-fpm
    volumes:
      - ./public:/var/www/html
    networks:
      - my-network

  db:
    image: mariadb:latest
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_DATABASE=my_database
      - MYSQL_USER=my_user
      - MYSQL_PASSWORD=my_password
    volumes:
      - ./data:/var/lib/mysql
    networks:
      - my-network

networks:
  my-network:
    external: true
Salin selepas log masuk

Dalam konfigurasi di atas, kami mentakrifkan fail bernama nginx services, perkhidmatan bernama php dan perkhidmatan bernama db. Pada masa yang sama, kami juga menentukan rangkaian luaran bernama my-network untuk menyambungkan ketiga-tiga perkhidmatan ini. Perkhidmatan nginx bergantung pada perkhidmatan php, jadi kami menggunakan kata kunci depende_on untuk menentukan kebergantungan ini.

5. Ringkasan

Di atas adalah kaedah dan contoh kod khusus untuk menggunakan Docker Compose, Nginx dan MariaDB untuk mengendalikan dan menyelenggara aplikasi PHP dengan cekap. Dengan menggunakan alat Docker Compose, kami boleh membina dan mengurus aplikasi yang mengandungi berbilang bekas dengan cepat, meningkatkan kecekapan penggunaan dan kemudahan operasi dan penyelenggaraan. Sebagai pelayan web berprestasi tinggi, Nginx boleh membantu kami melaksanakan fungsi seperti proksi terbalik dan pengimbangan beban. MariaDB, sebagai sistem pengurusan pangkalan data yang boleh dipercayai, menyediakan penyelesaian penyimpanan data berprestasi tinggi dan ketersediaan tinggi untuk aplikasi kami.

Saya harap artikel ini akan membantu anda memahami dan menggunakan Docker Compose, Nginx dan MariaDB, dan saya berharap anda mendapat hasil dan pengalaman yang lebih baik dalam mengendalikan dan menyelenggara aplikasi PHP!

Atas ialah kandungan terperinci Gabungan 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)
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 ...

Bagaimana untuk membuat Php5.6 dan Php7 wujud bersama melalui konfigurasi Nginx pada pelayan yang sama? Bagaimana untuk membuat Php5.6 dan Php7 wujud bersama melalui konfigurasi Nginx pada pelayan yang sama? Apr 01, 2025 pm 03:15 PM

Menjalankan pelbagai versi PHP secara serentak dalam sistem yang sama adalah keperluan umum, terutamanya apabila projek yang berbeza bergantung pada versi PHP yang berlainan. Bagaimana untuk sama ...

See all articles