Error- “File not found” in browser or “Primary script unknown”
问题描述
最近刚从 Apahce 转到 Nginx ,对于 Nginx 的一些配置很生疏呀
简单的配置都搞了半天,心塞。。。
关于 PHP + Nginx 的配置,之前我的配置是像下面这样的
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
}
当时就奇怪了,应该没什么错呀。。。网上搜索的很多都是这样配置的
当然我保证在配置完之后,重启过服务的
没办法,只能查查 log 了,然后找到了如下错误:
Error: "File not found" in browser or "Primary script unknown"
解决问题
问题是找到了,但是这是啥意思?
大家都是这样配置的,为啥我这里不行 (大家:我这是好的 🙂 )
然后我根据这个问题查了一下
直接搜索错误信息还是蛮有效的
最后我找到这样一句话:
Ensure you have specified a root and index in your server or location directive
我呆了一下,对哦,我 TM 路径没加。。。自己坑自己
诶,不过为啥网上那些配置是没问题的?
不管了,先试了再说,将配置加上
location ~ \.php$ {
root /Project/xinpureZhuBlog;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
}
重启服务后。。。果然没问题了
那么问题又来了,我明明在外层的配置中加了 root 目录的
server {
root /Project/xinpureZhuBlog;
}
为何在内层配置中还需要重新配置?