我尝试了许多建议,但无法使其正常工作。
我想与docker-compose.yml
合作创建一个NGINX-PHP
文件。
这是我做的:
version: "2"
services:
nginx:
image: nginx:latest
restart: always
ports:
- "80:80"
- "443:443"
links:
- php
depends_on:
- php
expose:
- "80"
- "443"
volumes:
- ./www:/var/www/html
- ./config/nginx/site.conf:/etc/nginx/sites-available/default
- ./config/nginx/site.conf:/etc/nginx/sites-enabled/default
php:
image: php:7-fpm
restart: always
volumes:
- ./www:/var/www/html
Docker
图像运行没有错误,但是当我想访问Nginx
时,我得到了:Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com.
Thank you for using nginx.
我试图登录到两个图像并检查卷。我还检查了是否可以从
php
ping nginx
。一切似乎都很好...这是我的
Nginx
站点配置:server {
server_name ncp-docker;
listen 80;
index index.php index.html index.htm;
root /var/www/html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~ /(inc|uploads/avatars) {
deny all;
}
}
最佳答案
您默认使用默认服务器配置,因此您需要覆盖默认的nginx虚拟主机:
- ./config/nginx/site.conf:/etc/nginx/conf.d/default.conf
使用它并删除启用站点的卷和可用站点的卷
关于php - 使PHP和Nginx Docker镜像协同工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44188945/