PHP执行权限导致”FastCGI sent in stderr: “Primary script unknown”

在近期一次上线web应用部署过程中,相同的配置在测试环境中并没有出现任何问题。部署在生产环境3台服务器上时,一直出现“file not found”,查看nginx服务器的error日志出现了如下错误:

020/07/05 16:32:05 [error] 28033#0: *3 FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream, client: 192.0.61.175, server: baogebiji.com, request: “POST /www/getClientInfoList.php HTTP/1.1″, upstream: “fastcgi://unix:/dev/shm/php-cgi.sock:”, host: “192.0.61.176“, referrer: “http://192.0.61.176/www

生产环境的部署脚本及配置文件均一摸一样,出现这样的问题感觉到很恐慌。

一、测试php是否可以正常运行。


在网站根目录下,部署test.php文件,访问192.0.61.176

test.php脚本,复制到www目录,访问网址192.0.61.176/www/test.php

检查nginx.conf配置文件,与测试文件完全相同。网站根目录下打开php文件正常。因此php-fpm应该运行也是正常的。

二、检查网站运行权限。


1,检查nginx.conf文件,nginx运行的用户为app100

2,检查网站目录,均为app100

3,检查php运行权限。

$ cat /usr/local/php/etc/php-fpm.conf

;;;;;;;;;;;;;;;;;;;;;

; FPM Configuration ;

;;;;;;;;;;;;;;;;;;;;;

 

;;;;;;;;;;;;;;;;;;

; Global Options ;

;;;;;;;;;;;;;;;;;;

 

[global]

pid = run/php-fpm.pid

error_log = log/php-fpm.log

log_level = warning

 

emergency_restart_threshold = 30

emergency_restart_interval = 60s

process_control_timeout = 5s

daemonize = yes

 

;;;;;;;;;;;;;;;;;;;;

; Pool Definitions ;

;;;;;;;;;;;;;;;;;;;;

 

[www]

listen = /dev/shm/php-cgi.sock

listen.backlog = -1

listen.allowed_clients = 127.0.0.1

listen.owner = www

listen.group = www

listen.mode = 0666

user = www

group = www

发现usergroup均使用www用户,修改以上www用户为app100后,重启systemctl restart php-fpm。故障解除。

总结


出现该问题的原因事后回忆,因默认安装使用的均为www用户。在应用提出希望使用app100用户可以拥有更

给TA买糖
共{{data.count}}人
人已赞赏
笔记

linux下创建只读Log日志的用户

2021-4-7 18:11:25

笔记

解决linux下因无法创建新分区不能扩容lvm问题

2021-4-8 18:11:14

此心远送浑河岸,斟别酒,唱阳关,临别无语空长叹,酒已阑,曲未残,人初散,心长怀去后,杳鱼雁,对遥山,当时无计锁雕鞍,去后思量悔应晚,别时容易见时难!
13 条回复 A文章作者 M管理员
  1. 可乐碧蓝

    网站挺不错的!

  2. 钻石干净

    老哥 我想..

  3. 曲奇靓丽

    测试一下

  4. 彪壮就金毛

    百度来的,网站挺好看的

  5. 斑马碧蓝

    老哥 我想..

  6. 野性给黑裤

    网站挺不错的!

  7. 狗义气

    装装逼

  8. 滑板悦耳

    哈哈哈哈哈

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索