Rumah > Artikel > pembangunan bahagian belakang > Penggunaan aplikasi PHP yang sangat tersedia dengan Docker Compose dan Nginx
Penggunaan aplikasi PHP yang sangat tersedia melalui Docker Compose dan Nginx
Dalam pembangunan aplikasi web moden, ketersediaan yang tinggi merupakan faktor yang sangat penting. Dengan menggunakan Docker Compose dan Nginx, kami boleh mencapai penggunaan aplikasi PHP dengan ketersediaan tinggi dan memastikan aplikasi itu kekal tersedia apabila kegagalan berlaku.
Docker ialah platform kontena popular yang membungkus aplikasi dan kebergantungannya ke dalam bekas serba lengkap. Docker Compose menyediakan cara mudah untuk mentakrif dan menjalankan berbilang aplikasi kontena.
Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik. Ia boleh mengedarkan trafik masuk ke beberapa pelayan bahagian belakang untuk pengimbangan beban.
Berikut ialah contoh pelaksanaan penggunaan aplikasi PHP yang sangat tersedia menggunakan Docker Compose dan Nginx:
Mula-mula, kami perlu mencipta fail docker-compose.yml untuk mentakrifkan aplikasi dan bekas Nginx kami. Dalam fail ini, kami boleh menentukan berbilang perkhidmatan, setiap perkhidmatan sepadan dengan bekas.
version: '3' services: app1: build: context: . dockerfile: Dockerfile restart: always app2: build: context: . dockerfile: Dockerfile restart: always nginx: image: nginx ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf restart: always
Dalam contoh ini, kami mencipta dua bekas aplikasi (app1 dan app2) dan bekas Nginx (nginx) pada masa yang sama. app1 dan app2 boleh menjadi aplikasi yang sama atau aplikasi yang berbeza untuk lebihan dan ketersediaan tinggi.
Seterusnya, kita perlu mencipta fail konfigurasi nginx.conf dan melekapkannya ke dalam bekas Nginx. Fail konfigurasi ini menggunakan Nginx sebagai pelayan proksi terbalik untuk mengagihkan trafik masuk antara dua bekas aplikasi.
http { upstream backend { server app1:8080; server app2:8080; } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } }
Dalam contoh ini, kami mengkonfigurasi alamat dan port dua bekas aplikasi sebagai pelayan dalam blok hulu Nginx. Kemudian, dalam blok pelayan utama, trafik proksi ke bahagian belakang.
Akhir sekali, kami perlu menulis fail Docker untuk membina bekas aplikasi kami. Fail Docker ini boleh disesuaikan dengan aplikasi khusus anda.
FROM php:7.4.15-fpm WORKDIR /var/www/html COPY . . RUN chmod -R 755 storage CMD ["php-fpm"]
Dalam contoh ini, kami menggunakan imej PHP rasmi dan menetapkan direktori kerja kepada /var/www/html. Kami kemudian menyalin kod dan fail aplikasi ke dalam bekas dan menetapkan kebenaran yang sesuai. Akhir sekali, kami memulakan pelayan PHP-FPM menggunakan arahan php-fpm.
Selepas melengkapkan langkah di atas, kita boleh menggunakan arahan berikut untuk memulakan aplikasi PHP kami yang sangat tersedia:
docker-compose up -d
Arahan ini akan memulakan semua bekas dan meletakkannya ke latar belakang.
Melalui langkah di atas, kami telah berjaya melaksanakan penggunaan aplikasi PHP dengan ketersediaan tinggi menggunakan Docker Compose dan Nginx. Kini, aplikasi kami akan dijalankan dalam berbilang bekas dan dimuatkan seimbang melalui Nginx.
Di atas hanyalah contoh mudah, anda boleh menyesuaikannya mengikut keperluan khusus anda. Dengan menggunakan Docker Compose dan Nginx, anda boleh mencapai penggunaan aplikasi PHP yang tersedia dengan mudah dan memastikan aplikasi anda kekal tersedia apabila kegagalan berlaku.
Atas ialah kandungan terperinci Penggunaan aplikasi PHP yang sangat tersedia dengan Docker Compose dan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!