docker compose 搭建NGINX和PHP,dockernginx
docker compose 搭建NGINX和PHP,dockernginx
直接上docker-compose.yml
version: '3.3'
services:
nginx:
build:
context: ./nginx
dockerfile: Dockerfile
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/html:/usr/share/nginx/html
- ./nginx/log:/var/log/nginx
restart: on-failure
depends_on:
- php-fpm
ports:
- '80:80'
links:
- php-fpm
php-fpm:
build:
context: ./php
dockerfile: Dockerfile
volumes:
- ./nginx/html:/var/www/html
restart: on-failure
ports:
- '9000:9000'
上面是基础版,但是已经可以运行了,剩下的就靠自己了。
注意点
上面若有参数不明白,建议去官网学习一下,地址
把NGINX的配置文件、日志、项目运行地址,指向本地目录,
建议配合Git管理使用,很爽。
配合PHP的时候,需要注意的是,容器互联
links 连接其他容器名,
在nginx.conf的server文件里,需要注意:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
上面两处注意点,
1,fastcgi_pass php-fpm:9000 ,此处直接写容器名,不建议写ip,
每次容器重启,ip可能会变,但容器名不会变。
2,fastcgi_param *** /var/www/html 此处这个地址,是PHP容器中的默认访问地址!一般是这个地址。。不确定的话可以去PHP容器中查看配置项就知道了。
评论暂时关闭