透過Docker Compose、Nginx和MariaDB實現PHP應用程式的自動化監控
摘要:隨著雲端運算和容器技術的普及,自動化監控成為了開發和維運人員必備的技能之一。本文將介紹如何使用Docker Compose、Nginx和MariaDB實現PHP應用程式的自動化監控,並提供了具體的程式碼範例。
server { listen 80; server_name example.com; location / { proxy_pass http://php-app:80; } location /status { stub_status; } }
上述設定檔中,我們定義了一個名為example.com的伺服器,並將請求代理到名為php-app的容器的80端口。我們還新增了一個名為/status的路徑,用於獲取Nginx的狀態資訊。以上只是一個簡單的範例,根據實際需求,我們可以進一步配置和最佳化Nginx。
version: '3' services: db: image: mariadb command: --default-authentication-plugin=mysql_native_password environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: myapp MYSQL_USER: myuser MYSQL_PASSWORD: mypassword volumes: - ./data:/var/lib/mysql
在上述設定檔中,我們定義了一個名為db的服務,並且使用了MariaDB的鏡像。我們設定了資料庫的根密碼、名稱和使用者信息,並將資料儲存到./data目錄中。根據實際需求,我們可以進一步配置和最佳化MariaDB。
FROM php:7.4-apache COPY src/ /var/www/html/
然後,我們需要在Docker Compose檔案中新增一個名為php-app的服務,將其與Nginx和MariaDB連接起來。以下是一個簡單的Docker Compose檔案範例:
version: '3' services: nginx: # Nginx的配置 db: # MariaDB的配置 php-app: build: context: . dockerfile: Dockerfile volumes: - ./src:/var/www/html depends_on: - db
在上述設定檔中,我們定義了一個名為php-app的服務,並使用了上述的Dockerfile和應用程式程式碼。我們還將應用程式的程式碼目錄掛載到容器中的/var/www/html目錄,以實現程式碼的即時更新。最後,我們使用depends_on關鍵字將php-app服務與db服務連接起來,以確保應用程式能夠存取資料庫。
以上是透過Docker Compose、Nginx和MariaDB實現PHP應用程式的自動化監控的詳細內容。更多資訊請關注PHP中文網其他相關文章!