溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

docker-composer如何快速構(gòu)建nginx+php環(huán)境

發(fā)布時(shí)間:2022-01-19 11:48:14 來源:億速云 閱讀:342 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了docker-composer如何快速構(gòu)建nginx+php環(huán)境,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

index.php

<?php
/**
 * Created by OrangBus
 * User email: orangbus40400@gmail.com
 * website: orangbus.cn
 * blog: doc.orangbus.cn
 * github: github.com/orangbus
 */echo phpinfo();

nginx.conf

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;
 }}

重點(diǎn)說明

fastcgi_pass   php8:9000;

php8: php容器的名稱,如果你想配置多個(gè)php版本,只需要將php的配置復(fù)制一份就可以,填寫對(duì)應(yīng)的php容器名稱

 php8: # php的容器名稱
 image: php:8.0-fpm
 restart: always
 volumes:
 - ./nginx/html:/html--------------------------------
 php74: # 對(duì)應(yīng)的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項(xiàng)目映射到 【php 容器的目錄】(紅色)

docker-compose

version: '3.5'services:
 nginx:
 image: nginx:latest restart: always ports:
 - 8010:80
 volumes:
 - ./nginx/html/:/usr/share/nginx/html # 注意點(diǎn)一
 - ./nginx/conf/:/etc/nginx/conf.d/ links:
 - php8 php8:
 image: php:8.0-fpm restart: always volumes:
 - ./nginx/html:/html #注意點(diǎn)二

注意點(diǎn)一:

./nginx/html :本機(jī)你的php項(xiàng)目地址

/usr/share/nginx/html: nginx默認(rèn)的訪問地址

注意點(diǎn)二:

./nginx/html :本機(jī)你的php項(xiàng)目地址

/html: 這里地址是將你本地的php代碼映射到php的容器當(dāng)中,一般是和你nginx配置的地址是一致的 (紅色)

Tip:請(qǐng)留意兩處紅色的區(qū)域的關(guān)聯(lián),這樣一個(gè)簡單的nginx+php關(guān)聯(lián)的環(huán)境就配置成功了。

踩坑指南:

當(dāng)使用-link 時(shí),連接容器的自定義端口將失效,舉例

version: '3.5'services:
 php8:
 image: php:8.0-fpm restart: always volumes:
 - ./nginx/html:/html links: # 如果使用 links ,當(dāng)我們php程序中填寫mysql端口的時(shí)候應(yīng)該是 3306 而不是 3307,但是我們外部是需要用3307端口去連接mysql的
 - mysql mysql:
 image: mysql:latest ports:
 - 3307:3306

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“docker-composer如何快速構(gòu)建nginx+php環(huán)境”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI