xinpureZhu

Menu

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;
}

为何在内层配置中还需要重新配置?

参考链接

https://wiki.archlinux.org/index.php/Nginx#Error:_.22File_not_found.22_in_browser_or_.22Primary_script_unknown.22_in_log_file

— 于 共写了1000个字
— 文内使用到的标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注