Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengurusan data untuk aplikasi PHP dengan Docker Compose, Nginx dan MariaDB

Pengurusan data untuk aplikasi PHP dengan Docker Compose, Nginx dan MariaDB

王林
王林asal
2023-10-12 08:01:45648semak imbas

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的数据管理

Pengurusan data aplikasi PHP melalui Docker Compose, Nginx dan MariaDB

Pengenalan: Dalam pembangunan perisian hari ini, kontena telah menjadi teknologi yang sangat popular, dan Docker, sebagai peneraju, menyediakan penyelesaian kontena yang mudah dan boleh dipercayai. Dalam artikel ini, kami akan meneroka cara melaksanakan pengurusan data untuk aplikasi PHP dengan menggunakan Docker Compose, Nginx dan MariaDB.

1. Apakah itu Docker Compose?
Docker Compose ialah alat untuk menentukan dan menjalankan berbilang bekas Docker. Ia menggunakan fail YAML untuk mengkonfigurasi perkhidmatan aplikasi. Dengan menggunakan Docker Compose, kami boleh memulakan, menghentikan dan mengurus berbilang bekas dengan mudah, dan kami boleh menentukan parameter dan konfigurasi untuk setiap bekas.

2. Konfigurasikan aplikasi PHP menggunakan Docker Compose dan Nginx

  1. Pasang Docker dan Docker Compose
    Mula-mula, kita perlu memasang Docker dan Docker Compose. Langkah pemasangan terperinci boleh didapati di laman web Docker rasmi.
  2. Buat fail Docker Compose
    Buat fail yang dipanggil docker-compose.yml dalam direktori akar projek dan tambah kandungan berikut:

    version: '3'
    services:
      nginx:
        image: nginx:latest
        ports:
          - 80:80
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf
          - ./www:/var/www/html
      php:
        image: php:7.4-fpm
        volumes:
          - ./www:/var/www/html
      mariadb:
        image: mariadb:latest
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: your_root_password
          MYSQL_DATABASE: your_database_name
          MYSQL_USER: your_mysql_username
          MYSQL_PASSWORD: your_mysql_password

    Fail konfigurasi ini mentakrifkan tiga perkhidmatan: Nginx, PHP dan MariaDB. Perkhidmatan Nginx menggunakan nginx:imej terkini dan memetakan port 80 hos ke port 80 bekas. Perkhidmatan PHP menggunakan imej php:7.4-fpm untuk memetakan direktori www hos ke direktori /var/www/html bekas melalui volum yang dikongsi. Perkhidmatan MariaDB menggunakan mariadb:imej terkini dan menetapkan kata laluan akar pangkalan data, serta nama pangkalan data, nama pengguna dan kata laluan. Sila ubah suai parameter ini mengikut keperluan sebenar.

  3. Konfigurasikan Nginx
    Buat fail bernama nginx.conf dalam direktori akar projek dan tambah kandungan berikut:

    server {
      listen 80;
      server_name localhost;
      root /var/www/html;
      index index.php;
    
      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;
      }
    }

    Fail konfigurasi ini mentakrifkan konfigurasi asas Nginx dan mengubah hala semua permintaan ke fail php untuk dicapai menghurai aplikasi PHP.

  4. Mulakan bekas Docker
    Laksanakan arahan berikut untuk memulakan bekas Docker:

    docker-compose up -d

    Arahan ini akan memulakan semua perkhidmatan yang ditakrifkan dalam fail konfigurasi dan menjalankannya dalam mod latar belakang.

  5. Sambung ke MariaDB
    Anda boleh menggunakan mana-mana klien MySQL untuk menyambung ke pangkalan data MariaDB, menggunakan nama pengguna dan kata laluan yang ditetapkan sebelum ini dalam fail konfigurasi.

3. Kesimpulan
Dengan menggunakan Docker Compose, Nginx dan MariaDB, kami boleh mengkonfigurasi dan mengurus data aplikasi PHP dengan mudah. Penyelesaian kontena ini bukan sahaja menyediakan penggunaan dan pengembangan yang mudah, tetapi juga memastikan keselamatan dan kestabilan data. Saya harap artikel ini akan membantu anda untuk belajar dan berlatih.

Untuk contoh kod dan struktur projek, sila rujuk: https://github.com/example/docker-compose-php-n...

Atas ialah kandungan terperinci Pengurusan data untuk aplikasi PHP dengan Docker Compose, Nginx dan MariaDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn