Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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

WBOY
WBOYasal
2023-10-12 14:14:031755semak imbas

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

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

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

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

Artikel berkaitan

Lihat lagi