標題:使用Docker Compose、Nginx和MariaDB實作PHP應用程式的自動化部署流程
摘要:本文旨在介紹如何使用Docker Compose、Nginx和MariaDB來自動化部署PHP應用程式。我們將使用Docker Compose來管理容器化的應用程序,並使用Nginx作為反向代理伺服器,同時與MariaDB資料庫整合。文章中將提供具體的程式碼範例,幫助讀者實施自動化部署流程。
在傳統的部署方式中,設定、安裝和管理伺服器的環境可能會非常繁瑣。而使用Docker Compose可以簡化這個過程,使得我們能夠快速且可靠地部署應用程式。
首先,我們需要在目標伺服器上安裝Docker和Docker Compose。具體安裝方式請參考Docker官方文件。
在專案的根目錄下建立一個名為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資料庫。
在專案的根目錄下建立一個名為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程式碼的解析和運行。
在專案的根目錄下建立一個名為php目錄,並在該目錄下編寫我們的PHP應用程式。
現在我們已經完成了自動化部署流程的所有準備工作,可以使用以下命令來啟動應用程式。
docker-compose up -d
該指令將從docker-compose.yaml檔案讀取配置,自動建立和執行所需的Docker容器。
在瀏覽器中輸入伺服器的IP位址或域名,將可以存取我們的應用程式。
本文詳細介紹如何使用Docker Compose、Nginx和MariaDB來實現PHP應用程式的自動化部署。我們利用Docker Compose管理容器化的應用程序,並將Nginx作為反向代理伺服器,與MariaDB資料庫整合。透過具體的程式碼範例,讀者可以更好地理解和實施自動化部署流程。這種自動化部署方案可以提升開發效率、降低系統配置和管理的難度,是現代化軟體開發的重要組成部分。
以上是使用Docker Compose、Nginx和MariaDB實現PHP應用程式的自動化部署流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!