nginx+php-fpm 报错Primary script unknown
报错信息(nginx日志):
// :: [crit] #: * stat() "/home/xiaoju/webroot/c-api-intl/app/htdocs/user/getUserInfo" failed (: Permission denied), client: 172.21.205.25, server: localhost, request: "GET /user/getUserInfo HTTP/1.1", host: "10.96.83.130:8005"
// :: [crit] #: * stat() "/home/xiaoju/webroot/c-api-intl/app/htdocs/user/getUserInfo" failed (: Permission denied), client: 172.21.205.25, server: localhost, request: "GET /user/getUserInfo HTTP/1.1", host: "10.96.83.130:8005"
// :: [error] #: * FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.21.205.25, server: localhost, request: "GET /user/getUserInfo HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "10.96.83.130:8005"
意思就是找不到php的入口脚本,那么查看nginx配置是否有问题,主要关注以下配置中标红的部分:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param ENV_CAPI_DEBUG true;
fastcgi_param APP_ENV development;
include fastcgi_params;
}
我们也可以加nginx日志来验证 SCRIPT_FILENAME 是否配置正确:
# add to nginx.conf
log_format scripts '$document_root$fastcgi_script_name > $request'; # add to server conf block
access_log /var/log/nginx/scripts.log scripts;
做好以上配置之后重启nginx并请求,同时tail -f /var/log/nginx/scripts.log,查看输出的php脚本能不能找到。
我这里输出是这样的:
/home/xiaoju/webroot/c-api-intl/app/htdocs/index.php > GET /user/getUserInfo HTTP/1.1
如果找不到该文件,重新配置nginx,保证php入口脚本能被找到。
如果已经找到该文件,而且还报此错误,那就是权限问题了:运行php-fpm的linux用户没权限访问php入口文件的权限。
我这里运行php-fpm的用户是nginx。(在/usr/local/php/etc/php-fpm.conf配置文件中配置的)
sudo -u nginx stat /home/xiaoju/webroot/c-api-intl/app/htdocs/index.php
果然权限不足,解决办法:
chown nginx:nginx /home/xiaoju/webroot/c-api-intl
chmod g+x /home
chmod g+x /home/xiaoju
chmod g+x /home/xiaoju/webroot
问题解决。
如果中途出现:account is currently not available
vipw /etc/passwd
把对应用户的/sbin/nologin 改成 /bin/bash。
参考文档:
https://www.jianshu.com/p/ce968818497b
https://www.e-learn.cn/content/wangluowenzhang/299721
https://blog.csdn.net/shaobingj126/article/details/7466583
nginx+php-fpm 报错Primary script unknown的更多相关文章
- [PHP] 安装PHP报错“Primary script unknown”的解决方法
当安装完最新版的nginx和最新版的PHP以后,使用niginx默认配置文件中的PHP配置会有错误访问指定目录下的php文件时,显示File not found.错误.查看nginx的错误日志显示 9 ...
- 解决nginx FastCGI sent in stderr: “Primary script unknown”
今天重启了mac,突然发现本地的 lnmp 服务不能用了,什么请求都返回了: FastCGI sent in stderr: "Primary script unknown" 这个 ...
- PHP Primary script unknown 终极解决方法
相信很多配置php环境的都遇到过这个恼人的问题: 浏览器访问php文件,返回来 File not found 查看/var/log/nginx/error.log ,有 “Primary script ...
- Nginx-Primary script unknown的报错的解决方法
配置nginx时一直报错:file not found 错误日志: [error] 12691#0: *6 FastCGI sent in stderr: "Primary script u ...
- Nginx+PHP配置错误,日志:[error] 24324#0: *31 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
一.问题现象 1.安装nginx.php.php-fpm后,浏览器访问php报错,“File not found”: 二.问题排查 1.检查nginx.php-fpm服务是否正常启动,均正常启动: 2 ...
- nginx FastCGI错误Primary script unknown解决办法
在centos上成功编译安装nginx 1.4.php 5.4并成功启动nginx和php-fpm后,访问php提示"File not found.",同时在错误日志中看到: 复制 ...
- Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl"
Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl" 出现如图所示错误,处理办法如下 去nginx解压目录下执行 ./co ...
- 【nginx】 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
2013/10/22 20:05:49 [error] 12691#0: *6 FastCGI sent in stderr: "Primary script unknown" w ...
- NGINX+PHP-FPM7 FastCGI sent in stderr: “Primary script unknown”
https://www.cnblogs.com/hjqjk/p/5651275.html 一开始是Nginx打开网页显示一直是拒绝访问.查看nginx日志是报错显示我的题目,然后就各种搜索解决啊! 百 ...
随机推荐
- Android 网络编程--上传文件及相应的参数到服务器
之前一直在做SiteCheck的项目,所用到的知识大部分都涉及到网络编程方面,所以现在有时间先把它的使用方法及一些注意事项记录下来.在这里我用两种例子让大家了解它的使用方法: (1)上传图片及相应参数 ...
- OpenCV+Java环境搭建
1.官网地址http://opencv.org/ 1.首先下载OpenCV2.4.6,下载的时候,选择windows版的.然后安装 2.其实安装的过程就是解压的过程,并没有什么安装向导之类的,安装完成 ...
- IDEA的常用快捷键
--------------在日常写代码的过程中自行整理出来----------------- *Alt+Enter 导入包 Ctrl+Alt+L 自动格式化代码 *Alt+Enter 自我修复 Sh ...
- kdtree学习记录
[转载请注明来自 Galaxies的博客:http://cnblogs.com/galaxies] 这篇文章当做一个记录啦qwq 参考:<K-D Tree在信息学竞赛中的应用>(n+e, ...
- bzoj1861 书架 splay版
单点插入删除以及求前缀 #include<cstdio> #include<cstring> #include<algorithm> using namespace ...
- 关于C++随机函数
#include<iostream> #include<cstdlib> #include<ctime> using namespace std; int main ...
- 9张图让你明白什么叫做"一坨屎"一样的iOS垃圾代码
前言:这是一个两万余行的商业项目,但代码质量却不敢恭维! //本文永久链接,转载请注明出处:http://www.cnblogs.com/ChenYilong/p/3489939.html ...
- tmux下vim颜色不正常问题
在解决了tmux下,make menuconfig颜色不正常问题https://www.cnblogs.com/zqb-all/p/9702582.html后,引入了新的问题,vim颜色错乱. 尝试了 ...
- kernel 中 sscanf和sprintf()函数使用说明【转】
转自:http://blog.csdn.net/tommy_wxie/article/details/8480695 在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望.由于s ...
- phpstorm+xdebug详解
1.run->edit configurations StartUrl最好是网址,不然容易出错,Server选择的是配置时添加的Servers,详可参考:http://www.cnblogs.c ...