本文由composer教學專欄為大家介紹怎麼使用docker-composer建構一個簡單nginx php環境,希望對需要的朋友有幫助!
目錄結構
➜ Study tree ├── conf ├── docker-compose.yaml ├── nginx │ ├── conf │ │ └── laravel.conf │ └── html │ └── index.php
<?php /** * Created by OrangBus * User email: orangbus40400@gmail.com * website: orangbus.cn * blog: doc.orangbus.cn * github: github.com/orangbus */echo phpinfo();
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass php8:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /html$fastcgi_script_name; include fastcgi_params; }}
#重點說明
fastcgi_pass php8:9000;
php8: php容器的名稱,如果你想要設定多個php版本,只要將php的設定複製一份就可以,填入對應的php容器名稱
php8: # php的容器名称 image: php:8.0-fpm restart: always volumes: - ./nginx/html:/html-------------------------------- php74: # 对应的nginx配置文件为:fastcgi_pass php74:9000; image: php:8.0-fpm restart: always volumes: - ./nginx/html:/html
fastcgi_param SCRIPT_FILENAME /html$fastcgi_script_name;
/html :php專案對應到【php 容器的目錄】(紅色)
version: '3.5'services: nginx: image: nginx:latest restart: always ports: - 8010:80 volumes: - ./nginx/html/:/usr/share/nginx/html # 注意点一 - ./nginx/conf/:/etc/nginx/conf.d/ links: - php8 php8: image: php:8.0-fpm restart: always volumes: - ./nginx/html:/html #注意点二
./nginx/html :本機你的php專案位址
/usr/share/nginx/html: nginx預設的存取位址
注意點二:./nginx/html :本機你的php專案位址
/html: 這裡位址是將你本地的php程式碼對應到php的容器當中,一般是和你nginx配置的位址是一致的(紅色)
Tip:請留意兩處紅色的區域的關聯,這樣一個簡單的nginx php關聯的環境就配置成功了。-link# 時,連接容器的自訂連接埠將失效,並舉例
version: '3.5'services: php8: image: php:8.0-fpm restart: always volumes: - ./nginx/html:/html links: # 如果使用 links ,当我们php程序中填写mysql端口的时候应该是 3306 而不是 3307,但是我们外部是需要用3307端口去连接mysql的 - mysql mysql: image: mysql:latest ports: - 3307:3306
以上是docker-composer快速建置nginx+php環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!