Bina seni bina aplikasi PHP yang berdaya tahan menggunakan Docker Compose, Nginx dan MariaDB
Dengan pembangunan teknologi pengkomputeran awan dan kontena, membina seni bina aplikasi yang berdaya tahan telah menjadi lebih penting. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Docker Compose, Nginx dan MariaDB untuk membina seni bina aplikasi PHP yang berdaya tahan, dan menyediakan contoh kod khusus.
version: '3' services: web: image: nginx:latest restart: always ports: - 80:80 - 443:443 volumes: - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - php php: image: php:latest restart: always volumes: - ./code:/var/www/html db: image: mariadb:latest restart: always environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=app - MYSQL_USER=appuser - MYSQL_PASSWORD=apppassword
Fail konfigurasi di atas mentakrifkan tiga perkhidmatan: web, php dan db. Perkhidmatan web menggunakan imej Nginx terkini untuk memetakan port 80 dan 443 kepada hos. Perkhidmatan web juga menyesuaikan konfigurasi Nginx dengan memasang fail nginx.conf tempatan ke dalam bekas. Perkhidmatan php menggunakan imej PHP terkini dan berkongsi kod dengan memasang direktori kod tempatan ke dalam bekas. Perkhidmatan db menggunakan imej MariaDB terkini, dan kata laluan untuk pengguna akar dan pangkalan data aplikasi ditetapkan.
worker_processes auto; pid /run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; server { listen 80; location / { proxy_pass http://php:80; proxy_set_header Host $host; } } }
Fail konfigurasi di atas menentukan bilangan proses pekerja Nginx, serta port dan peraturan proksi yang didengari oleh Nginx. Dalam contoh ini, Nginx membuat proksi semua permintaan ke port 80 dalam bekas PHP.
docker-compose up -d
Arahan ini akan memulakan dan mengurus semua bekas mengikut konfigurasi dalam fail docker-compose.yml . Menambah parameter -d akan menyebabkan bekas berjalan di latar belakang.
php: image: php:latest restart: always volumes: - ./code:/var/www/html scale: 3
Konfigurasi di atas akan mencipta 3 bekas php, setiap satu dengan kod dan konfigurasi yang sama. Dengan cara ini, apabila lebih banyak permintaan datang, Docker Compose akan secara automatik mengedarkan permintaan kepada bekas php yang berbeza, sekali gus mencapai penskalaan.
Ringkasan
Artikel ini memperkenalkan cara membina seni bina aplikasi PHP yang berdaya tahan menggunakan Docker Compose, Nginx dan MariaDB. Dengan menggunakan Docker Compose, kami boleh mentakrif dan menjalankan berbilang bekas Docker dengan mudah, melaksanakan proksi permintaan dan mengimbangi beban melalui Nginx dan menyimpan data aplikasi melalui MariaDB. Kami juga menunjukkan cara untuk menskalakan aplikasi dengan menambah bilangan bekas PHP. Saya harap artikel ini membantu dan jika anda mempunyai sebarang pertanyaan, sila berasa bebas untuk bertanya.
Atas ialah kandungan terperinci Bina seni bina aplikasi PHP yang berdaya tahan menggunakan Docker Compose, Nginx dan MariaDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!