首頁  >  文章  >  後端開發  >  使用Docker Compose、Nginx和MariaDB實現PHP應用程式的自動化部署流程

使用Docker Compose、Nginx和MariaDB實現PHP應用程式的自動化部署流程

WBOY
WBOY原創
2023-10-12 08:27:111079瀏覽

使用Docker Compose、Nginx和MariaDB实现PHP应用程序的自动化部署流程

標題:使用Docker Compose、Nginx和MariaDB實作PHP應用程式的自動化部署流程

摘要:本文旨在介紹如何使用Docker Compose、Nginx和MariaDB來自動化部署PHP應用程式。我們將使用Docker Compose來管理容器化的應用程序,並使用Nginx作為反向代理伺服器,同時與MariaDB資料庫整合。文章中將提供具體的程式碼範例,幫助讀者實施自動化部署流程。


  1. 簡介

在傳統的部署方式中,設定、安裝和管理伺服器的環境可能會非常繁瑣。而使用Docker Compose可以簡化這個過程,使得我們能夠快速且可靠地部署應用程式。

  1. 安裝Docker和Docker Compose

首先,我們需要在目標伺服器上安裝Docker和Docker Compose。具體安裝方式請參考Docker官方文件。

  1. 建立Docker Compose檔案

在專案的根目錄下建立一個名為docker-compose.yaml的文件,該檔案將定義我們將要部署的服務和它們之間的相互依賴關係。

version: '3'

services:
  nginx:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
    depends_on:
      - php
  php:
    image: php:7.4-fpm
    volumes:
      - ./php/app:/var/www/html
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_DATABASE=app
      - MYSQL_USER=app_user
      - MYSQL_PASSWORD=app_password
    volumes:
      - ./db/data:/var/lib/mysql

上述的Docker Compose檔案定義了三個服務:nginx、php和db。 Nginx服務負責反向代理和靜態文件服務,PHP服務運行我們的應用程序,DB服務是MariaDB資料庫。

  1. 建立Nginx設定檔

在專案的根目錄下建立一個名為nginx目錄,並在該目錄下建立一個conf.d目錄。在conf.d目錄下建立一個名為default.conf的文件,該文件將定義Nginx的反向代理和靜態檔案服務。

server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;

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

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

上述Nginx設定檔的關鍵是將請求轉送到PHP容器上的9000端口,從而實現PHP程式碼的解析和運行。

  1. 建立PHP應用程式

在專案的根目錄下建立一個名為php目錄,並在該目錄下編寫我們的PHP應用程式。

  1. 啟動應用程式

現在我們已經完成了自動化部署流程的所有準備工作,可以使用以下命令來啟動應用程式。

docker-compose up -d

該指令將從docker-compose.yaml檔案讀取配置,自動建立和執行所需的Docker容器。

  1. 存取應用程式

在瀏覽器中輸入伺服器的IP位址或域名,將可以存取我們的應用程式。


本文詳細介紹如何使用Docker Compose、Nginx和MariaDB來實現PHP應用程式的自動化部署。我們利用Docker Compose管理容器化的應用程序,並將Nginx作為反向代理伺服器,與MariaDB資料庫整合。透過具體的程式碼範例,讀者可以更好地理解和實施自動化部署流程。這種自動化部署方案可以提升開發效率、降低系統配置和管理的難度,是現代化軟體開發的重要組成部分。

以上是使用Docker Compose、Nginx和MariaDB實現PHP應用程式的自動化部署流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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