


Gabungan Docker Compose, Nginx dan MariaDB: Mengendalikan dan menyelenggara aplikasi PHP dengan cekap
Oct 12, 2023 pm 02:14 PMCara 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:
- Proses penggunaan yang dipermudahkan: Dengan mentakrifkan fail konfigurasi, keseluruhan aplikasi boleh digunakan dengan cepat dan konsisten.
- Skala yang dipertingkatkan: Aplikasi boleh diskalakan dengan mudah merentas berbilang hos.
- 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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk membungkus projek dengan pycharm

Pembangunan tangkas dan pengendalian kontena perkhidmatan mikro PHP

PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi?

Docker melengkapkan penggunaan tempatan model besar sumber terbuka LLama3 dalam masa tiga minit

Seni bina dan amalan sistem teragih PHP

Sebarkan aplikasi JavaEE menggunakan Docker Containers

Bagaimana untuk menggunakan PHP CI/CD untuk lelaran dengan cepat?
