这篇文章主要介绍了docker-composer如何快速构建nginx+php环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
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;
}}
重点说明
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 容器的目录】(红色)
docker-compose
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环境”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!