Optimumkan penggunaan aplikasi PHP menggunakan Nginx dan Docker Compose
Pengenalan:
Dengan pembangunan aplikasi Internet dan Web, PHP, sebagai bahasa pengaturcaraan yang digunakan secara meluas, digunakan secara meluas untuk membina pelbagai laman web dan aplikasi . Walau bagaimanapun, kaedah penggunaan tradisional mungkin menghadapi beberapa cabaran, seperti konfigurasi persekitaran yang menyusahkan, konflik versi dan kesukaran dalam pengembangan kapasiti. Dalam kes ini, menggunakan Nginx dan Docker Compose boleh memudahkan proses penggunaan aplikasi PHP, meningkatkan produktiviti pembangun dan kestabilan aplikasi.
1. Kelebihan dan konfigurasi asas Nginx
Nginx ialah pelayan web berprestasi tinggi sumber terbuka dan pelayan proksi terbalik. Berbanding dengan pelayan Apache tradisional, Nginx mempunyai penggunaan memori yang lebih rendah, keupayaan pemprosesan serentak yang lebih tinggi dan prestasi yang lebih baik. Berikut ialah beberapa kelebihan Nginx:
Apabila melakukan konfigurasi asas Nginx, anda boleh mencipta fail nginx.conf yang mudah dan mengkonfigurasinya dengan sewajarnya, seperti yang ditunjukkan di bawah:
worker_processes auto; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.php; } location ~ .php$ { root /usr/share/nginx/html; fastcgi_pass PHP_CONTAINER:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } }
Dalam fail konfigurasi di atas, ia dikonfigurasikan untuk mendengar port 80 dan menentukan tapak web melalui root. Direktori akar dan nama pelayan ialah localhost. Apabila permintaan berakhir dengan .php, permintaan itu dimajukan ke bekas PHP bernama PHP_CONTAINER dan nama fail yang diminta dihantar ke bekas PHP untuk diproses.
2. Penggunaan dan contoh Docker Compose
Docker Compose ialah alat yang memudahkan penggunaan aplikasi kontena dan boleh mentakrifkan serta mengurus aplikasi dalam berbilang bekas. Docker Compose menggunakan fail YAML untuk mengkonfigurasi perhubungan dan parameter antara bekas dan menyediakan arahan mudah untuk mengurus bekas ini. Berikut ialah contoh fail docker-compose.yml:
version: '3' services: web: build: . ports: - 80:80 volumes: - .:/usr/share/nginx/html depends_on: - php php: build: context: . dockerfile: Dockerfile-php volumes: - .:/var/www/html db: image: mysql:5.7 ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: mydatabase
Dalam contoh di atas, kami mentakrifkan 3 perkhidmatan: web, php dan db. Perkhidmatan web menggunakan Dockerfile untuk membina bekas Nginx, memetakan direktori semasa hos ke direktori /usr/share/nginx/html bekas dan memetakan port 80 bekas ke port 80 hos. Perkhidmatan php menggunakan Dockerfile-php untuk membina bekas PHP dan memetakan direktori semasa hos ke direktori /var/www/html bekas. Perkhidmatan db menggunakan imej mysql:5.7 untuk membina bekas MySQL dan memetakan port 3306 kontena ke port 3306 hos.
3. Sepadukan aplikasi Nginx dan PHP ke dalam Docker Compose
Seterusnya, kita perlu mencipta fail Docker yang sepadan untuk membina bekas Nginx dan PHP. Berikut ialah contoh Dockerfile:
# 构建Nginx容器 FROM nginx:latest # 将宿主机的配置文件复制到容器中 COPY nginx.conf /etc/nginx/conf.d/default.conf # 定义容器启动时执行的命令 CMD ["nginx", "-g", "daemon off;"] # 构建PHP容器 FROM php:7.4-fpm # 安装PHP扩展和依赖库 RUN docker-php-ext-install pdo_mysql # 定义容器启动时执行的命令 CMD ["php-fpm"]
Dalam contoh di atas Dockerfile, kami mula-mula membina bekas Nginx menggunakan nginx:imej terkini, salin fail konfigurasi hos ke bekas, dan kemudian gunakan imej php:7.4-fpm untuk membina Bekas PHP, dan memasang sambungan pdo_mysql dan beberapa perpustakaan bergantung lain.
4. Gunakan Docker Compose untuk menggunakan aplikasi PHP
Selepas melengkapkan konfigurasi dan definisi di atas, kami boleh menggunakan Docker Compose untuk menggunakan aplikasi PHP. Mula-mula, buat fail docker-compose.yml dalam direktori akar aplikasi dan salin kandungan daripada contoh di atas ke dalamnya. Kemudian, laksanakan arahan berikut pada baris arahan untuk membina dan memulakan bekas:
docker-compose build docker-compose up -d
Arahan ini akan membina imej yang diperlukan dan memulakan bekas. Dengan mengakses http://localhost, anda boleh mengakses aplikasi PHP yang digunakan.
Ringkasan:
Menggunakan Nginx dan Docker Compose untuk mengoptimumkan penggunaan aplikasi PHP boleh memudahkan proses penggunaan, meningkatkan produktiviti pembangun dan kestabilan aplikasi. Nginx mempunyai banyak kelebihan sebagai pelayan web berprestasi tinggi dan pelayan proksi terbalik, dan Docker Compose, sebagai alat penggunaan untuk aplikasi kontena, boleh mengurus berbilang bekas dengan lebih mudah. Menggunakan aplikasi PHP dengan cara ini menjadikan proses pembangunan lebih cekap dan memudahkan untuk melanjutkan dan menyelenggara aplikasi.
Atas ialah kandungan terperinci Optimumkan penggunaan aplikasi PHP menggunakan Nginx dan Docker Compose. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!