首頁  >  文章  >  後端開發  >  透過Docker Compose、Nginx和MariaDB實現PHP應用程式的持續交付

透過Docker Compose、Nginx和MariaDB實現PHP應用程式的持續交付

WBOY
WBOY原創
2023-10-12 12:06:271347瀏覽

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的持续交付

透過Docker Compose、Nginx和MariaDB實現PHP應用程式的持續交付

概述:
隨著雲端運算和容器化技術的快速發展,越來越多的應用程式開始採用容器化來實現快速交付和部署。本文將介紹如何使用Docker Compose、Nginx和MariaDB來建立一個簡單的PHP應用程序,並實現持續交付的過程。同時,我們將給出具體的程式碼範例,幫助讀者更好地理解這個過程。

一、準備工作

  1. 安裝Docker和Docker Compose。

二、建立Docker Compose設定檔
建立一個名為docker-compose.yml的文件,並依照下面的範例內容填寫。

version: '3'
services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "80:80"
    depends_on:
      - db
  db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: example

三、建立Nginx設定檔
建立一個名為nginx.conf的文件,並依照下面的範例內容填寫。

server {
    listen 80;
    server_name localhost;
    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        fastcgi_pass web:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

四、建立PHP應用程式文件
在專案根目錄下建立一個名為index.php的文件,並依照下面的範例內容填寫。

<?php
echo "Hello, World!";
?>

五、建立Dockerfile
在專案根目錄下建立一個名為Dockerfile的文件,並依照下面的範例內容填寫。

FROM php:7.4-fpm

WORKDIR /var/www/html

COPY . /var/www/html

RUN docker-php-ext-install mysqli pdo pdo_mysql

CMD ["php-fpm"]

EXPOSE 9000

六、建置和啟動容器
在專案根目錄下執行以下命令,建置和啟動容器。

docker-compose up -d

七、驗證執行結果
在瀏覽器中造訪 http://localhost ,如果看到"Hello, World!"字樣,則表示容器已經成功運作。

八、持續交付流程
當我們對應用程式進行更新時,需要按照以下步驟來實現持續交付。

  1. 修改程式碼檔案
    在修改程式碼檔案之前,我們需要先停止目前執行的容器。
docker-compose down

然後,我們可以對index.php檔案進行修改,例如將"Hello, World!"改為"Hello, Docker!"。

  1. 重新建置並啟動容器
    在專案根目錄下執行下列命令,重新建置並啟動容器。
docker-compose up -d --build
  1. 驗證執行結果
    在瀏覽器中造訪 http://localhost ,如果看到"Hello, Docker!"字樣,則表示更新已成功部署。

結論:
透過使用Docker Compose、Nginx和MariaDB,我們可以快速建立一個PHP應用程序,並實現持續交付的過程。容器化技術的優點在於它能夠提供一致的開發、測試和生產環境,大大簡化了部署和維護的工作。同時,使用Nginx作為反向代理和負載平衡器,可以更好地管理請求流量。透過以上程式碼範例,讀者可以進一步了解如何使用這些工具來實現持續交付的流程。

以上是透過Docker Compose、Nginx和MariaDB實現PHP應用程式的持續交付的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn