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