


Gabungan sempurna Docker Compose, Nginx dan MariaDB: amalan terbaik untuk menggunakan aplikasi PHP
Gabungan sempurna Docker Compose, Nginx dan MariaDB: Amalan terbaik untuk menggunakan aplikasi PHP
Petikan:
Di zaman moden era Dalam pembangunan aplikasi web, penggunaan teknologi kontena telah menjadi satu trend. Teknologi kontena boleh membungkus aplikasi dan kebergantungannya ke dalam satu bekas, supaya aplikasi boleh dijalankan dalam mana-mana persekitaran yang menyokong teknologi kontena. Docker pada masa ini ialah teknologi kontena paling popular, yang boleh memudahkan penggunaan, pengurusan dan pengembangan aplikasi.
Untuk aplikasi web yang dibangunkan dengan PHP, kami boleh menggunakan Docker Compose untuk mengurus berbilang bekas, termasuk Nginx, PHP, pangkalan data, dsb. Artikel ini akan memperkenalkan cara menggunakan Docker Compose, Nginx dan MariaDB untuk menggunakan dan mengurus aplikasi PHP dan menyediakan contoh kod khusus.
-
Pasang Docker dan Docker Compose
Pertama, kita perlu memasang Docker dan Docker Compose pada hos. Anda boleh melawati tapak web rasmi Docker (https://www.docker.com/) untuk memuat turun dan memasang. Selepas pemasangan selesai, kami boleh mengesahkan sama ada Docker dipasang dengan betul dengan menjalankan arahan berikut:docker --version docker-compose --version
Salin selepas log masuk Buat fail Karang Docker
Buat Karang Docker fail dalam direktori akar projek Fail bernama docker-compose.yml yang mentakrifkan perkhidmatan aplikasi dan konfigurasi yang sepadan. Berikut ialah contoh fail docker-compose.yml yang mudah:version: '3' services: web: build: context: . dockerfile: Dockerfile ports: - 80:80 volumes: - ./src:/var/www/html depends_on: - db db: image: mariadb environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: mydb MYSQL_USER: user MYSQL_PASSWORD: password volumes: - db-data:/var/lib/mysql volumes: db-data:
Salin selepas log masukFail docker-compose.yml di atas mentakrifkan dua perkhidmatan, satu ialah perkhidmatan web untuk menjalankan Nginx dan PHP, dan satu lagi Adakah perkhidmatan db, digunakan untuk menjalankan MariaDB. Perkhidmatan web mendedahkan port 80 kepada hos luaran dan memetakan folder src dalam direktori projek ke direktori /var/www/html dalam bekas. Perkhidmatan db menetapkan pembolehubah persekitaran MariaDB dan volum data untuk penyimpanan data pangkalan data yang berterusan.
Buat Dockerfile
Untuk membina imej tersuai yang diperlukan untuk perkhidmatan web, kami perlu mencipta fail bernama Dockerfile dalam direktori projek. Berikut ialah contoh fail Docker yang mudah:FROM php:7.4-fpm RUN docker-php-ext-install pdo_mysql WORKDIR /var/www/html
Salin selepas log masukFail Docker di atas adalah berdasarkan imej php:7.4-fpm rasmi, telah memasang sambungan pdo_mysql dan menetapkan direktori kerja kepada /var/www /html.
Mulakan bekas
Laksanakan arahan berikut dalam direktori akar projek untuk memulakan bekas:docker-compose up -d
Salin selepas log masukDengan menjalankan arahan di atas, Docker akan Mulakan perkhidmatan web dan db mengikut konfigurasi dalam fail docker-compose.yml. Parameter -d menunjukkan menjalankan bekas dalam mod latar belakang.
Mengkonfigurasi Nginx
Untuk membolehkan Nginx memajukan permintaan dengan betul kepada aplikasi PHP dalam perkhidmatan web, kami perlu menambah konfigurasi berikut pada konfigurasi Item Nginx: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 web:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Salin selepas log masukFail konfigurasi di atas memajukan permintaan kepada proses PHP-FPM yang dijalankan dalam perkhidmatan web dan menghantar pembolehubah persekitaran berkaitan PHP kepada PHP-FPM.
Menulis aplikasi PHP
Tulis kod aplikasi PHP dalam folder src di bawah direktori projek. Di sini kami mengambil program Hello World yang ringkas sebagai contoh:<?php echo "Hello World!";
Salin selepas log masuk- Lawati aplikasi
Anda boleh melihat PHP yang sedang berjalan dalam penyemak imbas dengan mengakses http://localhost app.
Ringkasan:
Dengan menggunakan gabungan Docker Compose, Nginx dan MariaDB, kami boleh menggunakan dan mengurus aplikasi PHP dengan mudah. Docker Compose menyediakan cara yang mudah dan berkuasa untuk mentakrif dan menjalankan berbilang bekas, Nginx sebagai pelayan web boleh mengendalikan sejumlah besar permintaan serentak, dan MariaDB menyediakan perkhidmatan pangkalan data yang stabil dan boleh dipercayai. Kami berharap melalui pengenalan dan contoh dalam artikel ini, pembaca dapat memahami dan menggunakan teknologi ini dengan lebih baik dan mendapat manfaat daripadanya dalam projek sebenar.
Atas ialah kandungan terperinci Gabungan sempurna Docker Compose, Nginx dan MariaDB: amalan terbaik untuk menggunakan aplikasi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Jawapan: Perkhidmatan mikro PHP digunakan dengan HelmCharts untuk pembangunan tangkas dan kontena dengan DockerContainer untuk pengasingan dan kebolehskalaan. Penerangan terperinci: Gunakan HelmCharts untuk menggunakan perkhidmatan mikro PHP secara automatik untuk mencapai pembangunan tangkas. Imej Docker membenarkan lelaran pantas dan kawalan versi perkhidmatan mikro. Piawaian DockerContainer mengasingkan perkhidmatan mikro dan Kubernetes mengurus ketersediaan dan kebolehskalaan bekas. Gunakan Prometheus dan Grafana untuk memantau prestasi dan kesihatan perkhidmatan mikro, serta mencipta penggera dan mekanisme pembaikan automatik.

Terdapat banyak cara untuk memasang DeepSeek, termasuk: Menyusun dari Sumber (untuk pemaju berpengalaman) menggunakan pakej yang dikompilasi (untuk pengguna Windows) menggunakan bekas docker (untuk yang paling mudah, tidak perlu bimbang tentang keserasian) Dokumen rasmi dengan berhati -hati dan menyediakannya sepenuhnya untuk mengelakkan masalah yang tidak perlu.

Jawapan: Gunakan PHPCI/CD untuk mencapai lelaran pantas, termasuk menyediakan saluran paip CI/CD, ujian automatik dan proses penggunaan. Sediakan saluran paip CI/CD: Pilih alat CI/CD, konfigurasikan repositori kod dan tentukan saluran paip binaan. Ujian automatik: Tulis ujian unit dan penyepaduan dan gunakan rangka kerja ujian untuk memudahkan ujian. Kes praktikal: Menggunakan TravisCI: Pasang TravisCI, tentukan saluran paip, dayakan saluran paip dan lihat hasilnya. Laksanakan penyampaian berterusan: pilih alatan pengerahan, tentukan saluran paip pengerahan dan automatik penggunaan. Faedah: Meningkatkan kecekapan pembangunan, mengurangkan ralat dan memendekkan masa penghantaran.

Gunakan aplikasi Java EE menggunakan bekas Docker: Cipta Fail Docker untuk mentakrifkan imej, bina imej, jalankan bekas dan petakan port, dan kemudian akses aplikasi dalam penyemak imbas. Contoh aplikasi JavaEE: REST API berinteraksi dengan pangkalan data, boleh diakses pada localhost selepas penggunaan melalui Docker.

1. Mula-mula, selepas membuka antara muka, klik butang ikon sambungan di sebelah kiri 2. Kemudian, cari lokasi bar carian di halaman sambungan yang dibuka 3. Kemudian, masukkan perkataan Docker dengan tetikus untuk mencari pemalam sambungan 4 . Akhir sekali, pilih pemalam sasaran dan klik kanan Hanya klik butang pasang di sudut bawah

Pemantauan kontena perkhidmatan mikro PHP dan pemantauan pengurusan log: Gunakan Prometheus dan Grafana untuk memantau penggunaan sumber, bilangan permintaan dan kependaman. Pengurusan log: Gunakan ELKStack (ElasticSearch, Logstash, Kibana) untuk mengumpul, menghuraikan dan memvisualisasikan log. Gunakan ejen Filebeat untuk menghantar log ke ElasticSearch.

Seni bina perkhidmatan mikro menggunakan rangka kerja PHP (seperti Symfony dan Laravel) untuk melaksanakan perkhidmatan mikro dan mengikut prinsip RESTful dan format data standard untuk mereka bentuk API. Perkhidmatan mikro berkomunikasi melalui baris gilir mesej, permintaan HTTP atau gRPC dan menggunakan alatan seperti Prometheus dan ELKStack untuk pemantauan dan penyelesaian masalah.
