Rumah >pembangunan bahagian belakang >tutorial php >Penyelesaian luar kotak untuk Docker Compose, Nginx dan MariaDB: Sediakan persekitaran PHP dengan pantas
Penyelesaian luar kotak untuk Docker Compose, Nginx dan MariaDB: Sediakan persekitaran PHP dengan pantas
Ikhtisar:
Apabila membangunkan dan menggunakan aplikasi PHP, adalah penting untuk menyediakan yang boleh dipercayai dan mudah- untuk mengurus persekitaran. Docker Compose, Nginx dan MariaDB boleh menyediakan penyelesaian untuk membina persekitaran PHP dengan cepat. Artikel ini akan memperkenalkan cara menggunakan Docker Compose untuk mengkonfigurasi dan menjalankan bekas, menggunakan Nginx sebagai pelayan web, menggunakan MariaDB sebagai pangkalan data dan membina persekitaran PHP dengan cepat.
1. Pasang Docker dan Docker Compose:
Mula-mula, kita perlu memasang Docker dan Docker Compose pada mesin tempatan. Panduan pemasangan untuk sistem pengendalian yang berbeza boleh didapati di laman web rasmi Docker. Selepas pemasangan selesai, sahkan sama ada pemasangan berjaya Anda boleh memasukkan arahan berikut dalam terminal atau command prompt:
docker --version docker-compose --version
Jika nombor versi boleh dipaparkan dengan betul, ini bermakna Docker dan Docker Compose telah berjaya dipasang.
2 Cipta fail Docker Compose:
Seterusnya, kami perlu mencipta fail yang dipanggil docker-compose.yml dan tentukan perkhidmatan dan konfigurasi kontena kami di dalamnya.
version: '3' services: nginx: build: context: . dockerfile: nginx.dockerfile ports: - 80:80 depends_on: - php php: build: context: . dockerfile: php.dockerfile volumes: - ./src:/var/www/html mariadb: image: mariadb environment: - MYSQL_ROOT_PASSWORD=secret
Penjelasan:
3 Cipta fail Docker dan fail konfigurasi:
Seterusnya, kita perlu mencipta fail Docker dan fail konfigurasi untuk menyediakan konfigurasi dan kebergantungan yang diperlukan semasa membina imej.
FROM nginx COPY nginx.conf /etc/nginx/nginx.conf COPY default.conf /etc/nginx/conf.d/default.conf
Penjelasan: Bina imej baharu daripada imej Nginx rasmi, dan kemudian salin fail nginx.conf dan default.conf setempat ke lokasi bekas yang sepadan.
FROM php:7.4-fpm RUN apt-get update && apt-get install -y zlib1g-dev libzip-dev && docker-php-ext-install zip pdo_mysql COPY php.ini /usr/local/etc/php/conf.d/custom.ini
Penjelasan: Bina imej baharu daripada imej PHP rasmi, kemudian gunakan arahan apt-get untuk memasang kebergantungan yang diperlukan, dan pasang sambungan zip dan pdo_mysql melalui docker-php-ext -memasang arahan . Akhir sekali, salin fail php.ini tempatan ke bekas.
user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } }
Penjelasan: Ini ialah fail konfigurasi Nginx. Dikonfigurasikan dengan laluan log lalai, tetapan acara, tetapan http dan blok pelayan asas untuk mengendalikan permintaan dan menyerahkan pemprosesan PHP kepada bekas php.
server { location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Penjelasan: Ini ialah fail konfigurasi lalai Nginx. Sama seperti tetapan blok pelayan dalam fail nginx.conf.
4 Mula membina dan menjalankan bekas:
Selepas menyediakan semua fail konfigurasi, kami boleh mula membina dan menjalankan bekas. Dalam terminal atau command prompt, pergi ke direktori di mana fail docker-compose.yml berada dan jalankan arahan berikut:
docker-compose up --build
Arahan ini akan memulakan proses membina imej dan menjalankan bekas. Setelah selesai, anda akan melihat bekas berjalan dan aplikasi PHP boleh diakses melalui http://localhost.
Jika anda perlu menjalankan bekas di latar belakang, anda boleh menggunakan arahan berikut:
docker-compose up -d --build
Arahan ini akan menjalankan bekas dalam mod daemon.
Ringkasan:
Dengan penyelesaian luar biasa untuk Docker Compose, Nginx dan MariaDB, kami boleh membina dan mengurus persekitaran PHP dengan cepat. Kelebihan mudah alih dan kontena Docker menjadikan pembangunan dan penggunaan aplikasi PHP lebih mudah dan lebih dipercayai. Saya harap artikel ini membantu anda Untuk butiran lanjut tentang contoh kod, sila rujuk fail konfigurasi yang dinyatakan dalam artikel ini.
Atas ialah kandungan terperinci Penyelesaian luar kotak untuk Docker Compose, Nginx dan MariaDB: Sediakan persekitaran PHP dengan pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!