Tôi có cấu hình docker-compose đơn giản với php-fpm và nginx, và tôi không thể thấy bất kỳ tập tin php nào. Khi tôi đi đến localhost, nó cho thấy File Not Found.Tập tin Nginx php-fpm của Docker không tìm thấy
Tôi đã thử mọi thứ tôi có thể tìm thấy trên mạng, nhưng mọi thứ tôi đã thử đều không thành công. Nó hoạt động tốt cho html, nhưng không phải cho các tập tin php. Có vẻ là một vấn đề đường dẫn, hoặc một cái gì đó như thế.
tôi đi qua lỗi này khi tôi docker-compose logs
:
project3-php_1 | 172.17.0.5 - 29/Mar/2016:13:29:12 +0000 "GET /index.php" 404
project3-front_1 | 172.17.0.1 - - [29/Mar/2016:13:29:12 +0000] "GET/HTTP/1.1" 404 27 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"
project3-front_1 | 2016/03/29 13:29:12 [error] 8#8: *3 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.17.0.1, server: localhost, request: "GET/HTTP/1.1", upstream: "fastcgi://172.17.0.2:9000", host: "localhost"
Dưới đây là tôi Docker-soạn:
project3-front:
image: nginx
ports:
- "80:80"
links:
- "project3-php:project3-php"
volumes:
- ".:/home/docker"
- "./nginxdir/default.conf:/etc/nginx/conf.d/default.conf"
- "./html:/usr/share/nginx/html"
project3-php:
build: phpdir
volumes:
- ".:/home/docker:rw"
- "./html:/var/www/html"
ports:
- "9000:9000"
working_dir: "/home/docker"
Sau đó dockerfile tôi cho php:
FROM php:5.6-fpm
EXPOSE 9000
default.conf của tôi cho nginx:
server {
listen 80;
server_name localhost;
index index.php index.html;
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log;
root /usr/share/nginx/html;
location ~ \.php$ {
fastcgi_pass project3-php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
pwd của thư mục chính là:
/media/revenge/share/PROJECTS/docker_images/php7-nginx
Các hệ thống phân cấp tập tin là:
├── docker-compose.yml
├── html
│ ├── index.php
├── nginxdir
│ ├── default.conf
├── phpdir
│ ├── dockerfile
│ └── php.ini
Toàn bộ thư mục là chmod 777
Bất cứ ý tưởng sẽ được đánh giá rất nhiều. Tôi chắc rằng có điều gì đó tôi không nhận được. Cảm ơn trước.