Gunakan Docker Compose, Nginx dan MariaDB untuk mengoptimumkan perancangan kapasiti aplikasi PHP
Dengan pembangunan berterusan Internet, semakin banyak aplikasi menggunakan PHP sebagai bahasa pembangunan. Walau bagaimanapun, aplikasi PHP sering menghadapi kesesakan prestasi di bawah konkurensi yang tinggi dan volum data yang besar. Untuk meningkatkan prestasi dan kapasiti aplikasi PHP, Docker Compose, Nginx dan MariaDB boleh digunakan bersama untuk perancangan dan pengoptimuman kapasiti.
Docker Compose ialah alat untuk Docker yang boleh digunakan untuk mentakrif dan mengurus aplikasi berbilang bekas. Dengan menggunakan Docker Compose, berbilang bekas boleh ditakrifkan dan digunakan dalam satu fail, termasuk PHP, Nginx, MariaDB, dsb. Dengan cara ini, anda boleh dengan cepat dan mudah menyediakan persekitaran pembangunan dan pengendalian untuk aplikasi PHP.
Nginx ialah pelayan HTTP berprestasi tinggi yang juga mempunyai fungsi pelayan proksi terbalik. Dengan menggunakan Nginx sebagai pelayan bahagian hadapan untuk aplikasi PHP, anda boleh mencapai pengimbangan beban, caching sumber statik, sokongan HTTPS dan fungsi lain, dengan itu meningkatkan prestasi dan kapasiti aplikasi PHP.
MariaDB ialah sistem pengurusan pangkalan data hubungan sumber terbuka dan cabang MySQL. Dengan menggunakan MariaDB, anda boleh mengendalikan tugas berkaitan pangkalan data untuk aplikasi PHP, seperti menyimpan, membaca dan mengemas kini data. MariaDB mempunyai ciri-ciri prestasi tinggi, kebolehpercayaan dan skalabiliti tinggi, dan memainkan peranan penting dalam perancangan kapasiti dan pengoptimuman aplikasi PHP.
Yang berikut akan mengambil aplikasi PHP mudah sebagai contoh untuk menunjukkan langkah dan contoh kod khusus menggunakan Docker Compose, Nginx dan MariaDB untuk perancangan dan pengoptimuman kapasiti.
Mula-mula, buat fail bernama docker-compose.yml untuk mentakrif dan mengurus konfigurasi dan penggunaan bekas PHP, Nginx dan MariaDB. Berikut ialah kandungan contoh fail docker-compose.yml:
version: '3' services: web: build: . restart: always ports: - 80:80 volumes: - ./app:/var/www/html db: image: mariadb restart: always environment: - MYSQL_ROOT_PASSWORD=example - MYSQL_DATABASE=example - MYSQL_USER=example - MYSQL_PASSWORD=example
Dalam contoh di atas, perkhidmatan bernama web ditakrifkan untuk bekas yang menjalankan aplikasi PHP. Medan binaan menentukan Dockerfile yang digunakan untuk membina bekas, medan mulakan semula menentukan strategi mulakan semula bekas, medan port menentukan hubungan pemetaan port antara bekas dan hos, dan medan volum menentukan hubungan pemetaan direktori antara bekas. dan tuan rumah.
Seterusnya, buat fail bernama Dockerfile yang mentakrifkan konfigurasi dan kebergantungan untuk membina bekas aplikasi PHP. Berikut ialah contoh kandungan fail Dockerfile:
FROM php:7.4-apache COPY src/ /var/www/html/
Dalam contoh di atas, imej asas php:7.4-apache digunakan sebagai persekitaran asas untuk membina bekas aplikasi PHP, dan arahan COPY digunakan untuk menyalin aplikasi PHP dalam direktori src tempatan Fail disalin ke direktori /var/www/html dalam bekas.
Kemudian, buat fail bernama default.conf yang mentakrifkan konfigurasi bekas Nginx. Berikut ialah kandungan contoh fail default.conf:
server { listen 80; server_name localhost; root /var/www/html; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri =404; fastcgi_pass web:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; include fastcgi_params; } location ~ /.ht { deny all; } }
Dalam contoh di atas, blok pelayan bernama pelayan ditakrifkan, menyatakan port, nama domain, direktori akar dan peraturan untuk memproses permintaan oleh Nginx. Antaranya, lokasi / blok digunakan untuk mengendalikan sumber statik dan permintaan PHP, dan lokasi ~ .php$ blok digunakan untuk mengendalikan pelaksanaan skrip PHP.
Akhir sekali, anda boleh memulakan dan mengurus pengendalian kontena PHP, Nginx dan MariaDB dengan menukar ke direktori di mana fail docker-compose.yml terletak pada baris arahan dan melaksanakan arahan berikut:
docker-compose up -d
Dengan langkah di atas dan contoh kod, Anda boleh membina perancangan kapasiti dan persekitaran pengoptimuman dengan cepat dan mudah untuk aplikasi PHP yang dioptimumkan menggunakan Docker Compose, Nginx dan MariaDB. Dengan cara ini, prestasi dan kapasiti aplikasi PHP akan dipertingkatkan dengan lebih baik dan dapat menampung dengan lebih baik dengan keperluan konkurensi yang tinggi dan volum data yang besar.
Ringkasnya, dengan menggabungkan Docker Compose, Nginx dan MariaDB untuk perancangan dan pengoptimuman kapasiti, prestasi dan kapasiti aplikasi PHP boleh dipertingkatkan dengan berkesan. Dalam aplikasi sebenar, pelarasan konfigurasi dan pengoptimuman boleh dibuat mengikut keperluan khusus dan keadaan sebenar untuk meningkatkan lagi prestasi dan kapasiti aplikasi PHP.
Atas ialah kandungan terperinci Optimumkan perancangan kapasiti untuk aplikasi PHP menggunakan Docker Compose, Nginx dan MariaDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!