找不到文件nginx php-fpm

我已经仔细查看了这里的每一个问题,并尝试应用所述的修复而没有成功。

我正在使用wordpress:4.7.3-php7.0-fpm-alpine image,在它前面有一个单独的nginx容器。

当我蜷缩wordpress时,我得到:

 File not found. 

当我检查wordpress容器日志时,我得到:

 127.0.0.1 - 16/Mar/2017:06:26:24 +0000 "GET /index.php" 404 127.0.0.1 - 16/Mar/2017:06:31:27 +0000 "GET /index.php" 404 127.0.0.1 - 16/Mar/2017:06:32:16 +0000 "GET /index.php" 404 127.0.0.1 - 16/Mar/2017:06:37:17 +0000 "GET /index.php" 404 127.0.0.1 - 16/Mar/2017:06:39:09 +0000 "GET /index.php" 404 

实际的nginx错误是:

 2017/03/16 06:26:24 [error] 17#17: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 10.128.0.7, server: k8wp, request : "GET / HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000" 

我正在使用PHP 7

 /var/www/html # php-fpm -v PHP 7.0.16 (fpm-fcgi) (built: Mar 3 2017 23:07:56) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.16, Copyright (c) 1999-2017, by Zend Technologies 

我的nginxconfiguration是

 server { root /app; # Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html; server_name _localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 

我正在用户www-data运行nginx:

 user www-data; 

根据/usr/local/etc/php-fpm.d/www.conf ,用户和组被取消注释并设置为www-data

该错误表明您的SCRIPT_FILENAME不正确。 你的评论:

在wordpress容器中,位于/ app / nginx容器中的/var/www/html/index.php

建议nginxphp-fpm看到不同的文档根目录。

在这种情况下,使用:

 fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; 

您可以尝试包括include snippets/fastcgi-php.conf; 。 它应该解决你的问题。