一个关于 nginx 配置的问题,配置一个 php 网站,页面总是输出 File not found.,查看 nginx log 中报错:
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
nginx 配置如下:
erver {
listen 80;
server_name abc.com;
root "/root/work/abc/public";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/abc.com-error.log error;
sendfile off;
client_max_body_size 100m;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
location ~ /\.ht {
deny all;
}
}
查了一下,大多数给出的解决方法都是 fastcgi_param 改成 document_root ,但是我这个现在已经是这个了。
还有一个怀疑是 php-fpm 的权限问题,但是不知道怎么解决和是否是这个问题:
root 20618 0.0 0.4 317860 18816 ? Ss 18:11 0:00 php-fpm: master process (/etc/php/5.6/fpm/php-fpm.conf)
www-data 20620 0.0 0.1 317860 6828 ? S 18:11 0:00 php-fpm: pool www
www-data 20621 0.0 0.1 317860 6828 ? S 18:11 0:00 php-fpm: pool www
root 24811 0.0 0.0 11744 932 pts/7 S+ 19:33 0:00 grep --color=auto php-fpm
所以想请教一下有没有人遇到类似的问题,或者有没有解决方案?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.