Resipi Emas Docker Compose, Nginx dan MariaDB: Seni Bina Aplikasi PHP Sangat Tersedia
[Pengenalan]#🎜’🎜#Dalam Hari Ini Dalam era Internet, ketersediaan yang tinggi adalah penting untuk setiap tapak web dan aplikasi. Untuk mencapai matlamat ini, kita perlu membina seni bina yang stabil, berskala dan berprestasi. Artikel ini akan memperkenalkan cara menggunakan Docker Compose, Nginx dan MariaDB untuk membina seni bina aplikasi PHP yang sangat tersedia dan menyediakan contoh kod khusus.
Matlamat kami adalah untuk membina seni bina yang sangat tersedia di mana aplikasi PHP akan dijalankan dalam beberapa keadaan dan diedarkan melalui pengimbangan beban. Selain itu, kami akan menggunakan MariaDB sebagai lapisan pangkalan data kami dan Nginx sebagai pelayan proksi terbalik.
Kami akan menggunakan Docker Compose untuk mentakrif dan mengurus keseluruhan timbunan aplikasi kami. Ia membolehkan kami mentakrif dan mengkonfigurasi semua bekas menggunakan fail YAML yang mudah. Berikut ialah contoh fail Docker Compose yang mengandungi bekas aplikasi PHP, bekas Nginx dan bekas MariaDB: Pelayan, yang boleh diedarkan kepada berbilang contoh aplikasi PHP melalui pengimbangan beban. Kami perlu mengubah suai fail konfigurasi Nginx untuk mencapai ini. Berikut ialah contoh fail konfigurasi Nginx yang dipermudahkan:
version: '3' services: app: build: context: . dockerfile: Dockerfile ports: - 8000:80 environment: - DB_HOST=mariadb nginx: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro mariadb: image: mariadb:latest environment: - MYSQL_ROOT_PASSWORD=secret
Aplikasi PHP kami ialah contoh mudah yang menggunakan rangka kerja Slim untuk mengendalikan permintaan HTTP . Berikut ialah contoh fail index.php:
worker_processes 1; events { worker_connections 1024; } http { upstream php { server app1:80; server app2:80; # 可以根据需要修改添加更多的PHP应用实例 } server { listen 80; location / { proxy_pass http://php; } } }
Untuk memulakan timbunan aplikasi kami, jalankan sahaja arahan berikut:
<?php require __DIR__ . '/vendor/autoload.php'; $app = new SlimApp(); $app->get('/', function ($request, $response) { $response->getBody()->write("Hello, world!"); return $response; }); $app->run();
Untuk menskalakan aplikasi anda, cuma jalankan arahan berikut:
docker-compose up -d
Dengan menggabungkan Docker Compose, Nginx dan MariaDB, kami boleh membina seni bina aplikasi PHP yang tersedia, berskala dan berprestasi tinggi. Resipi emas ini bukan sahaja meningkatkan kebolehpercayaan aplikasi, tetapi juga memudahkan penggunaan dan pengurusan. Saya harap anda mendapati contoh kod khusus yang disediakan dalam artikel ini membantu. Semoga permohonan anda berjaya!
Atas ialah kandungan terperinci Resipi Emas Docker Compose, Nginx dan MariaDB: Seni Bina Aplikasi PHP Sangat Tersedia. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!