Tajuk: Pebentengan aplikasi PHP menggunakan Docker Compose, Nginx dan MariaDB
Pengenalan: Dengan perkembangan pesat teknologi kontena, semakin ramai pembangun memberi perhatian untuk menggunakan Docker untuk penggunaan dan pengurusan aplikasi. Artikel ini akan memperkenalkan cara menggunakan Docker Compose, Nginx dan MariaDB untuk melaksanakan kontena aplikasi PHP dan memberikan contoh kod khusus untuk membantu pembaca memahami dan mengamalkan dengan lebih baik.
Berikut ialah contoh fail konfigurasi Docker Compose kami (docker-compose.yml):
version: '3' services: webserver: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro depends_on: - php php: image: php:7.4-fpm volumes: - ./php.ini:/usr/local/etc/php/php.ini:ro - ./code:/var/www/html depends_on: - db db: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: your_password MYSQL_DATABASE: your_database MYSQL_USER: your_username MYSQL_PASSWORD: your_password volumes: - ./data:/var/lib/mysql
Kami mempunyai tiga perkhidmatan yang ditakrifkan melalui fail konfigurasi ini: pelayan web, php dan db. Perkhidmatan pelayan web menggunakan imej Nginx dan memetakan port 80 hos ke port 80 bekas. Perkhidmatan php menggunakan imej PHP-FPM dan memasang direktori kod ke dalam bekas. Perkhidmatan db menggunakan pencerminan MariaDB, dan nama pengguna, kata laluan dan direktori storan data pangkalan data ditetapkan.
nginx.conf:
worker_processes auto; events { worker_connections 1024; } http { server { listen 80; location / { root /var/www/html; index index.php index.html index.htm; try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass php:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; } } }
php.ini:
date.timezone = Asia/Shanghai upload_max_filesize = 2M post_max_size = 8M memory_limit = 128M
Dalam contoh di atas, nginx.conf mengkonfigurasi port pendengaran dan peraturan proksi Nginx untuk memajukan permintaan dinamik kepada perkhidmatan php. php.ini mengkonfigurasi beberapa parameter PHP biasa, seperti zon waktu dan sekatan muat naik fail.
$ docker-compose up -d
Selepas menjalankan arahan ini, Docker akan memuat turun dan memulakan kontena secara automatik mengikut fail konfigurasi. Anda boleh menggunakan arahan docker-compose ps
untuk melihat bekas yang sedang berjalan.
Di atas hanyalah contoh mudah, situasi sebenar mungkin lebih kompleks, dan pembaca boleh membuat pelarasan dan pengembangan yang sesuai mengikut keperluan mereka sendiri. Saya harap artikel ini dapat memberi sedikit bantuan kepada pembaca!
Atas ialah kandungan terperinci Menyimpan aplikasi PHP menggunakan Docker Compose, Nginx dan MariaDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!