Rumah >pembangunan bahagian belakang >tutorial php >Gabungan Docker Compose, Nginx dan MariaDB: Mengendalikan dan menyelenggara aplikasi PHP dengan cekap
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:
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!