我的 nginx / php-fpm 代码中有一个奇怪的错误,我试图设置我的开发机器以使用 nginx 而不是 php 的内置服务器,但到目前为止效果还不太好:
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: local.dev, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "local.dev"
我的local.conf
nginx 文件如下:
server {
server_name local.dev www.local.dev;
root /home/richard/Projects/local/web;
index app_dev.php;
location / {
try_files $uri /app_dev.php$is_args$args;
}
location ~ \.php {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
error_log /var/log/nginx/local_error.log;
access_log /var/log/nginx/local_access.log;
access_log /var/log/nginx/local_scripts.log scripts;
}
local_scripts.log
似乎正确:
/home/richard/Projects/local/web/app_dev.php > GET / HTTP/1.1
我有chmod +x
从 /home 到 /web 的所有文件夹...
请提供建议,我想我已经查看了这里所有关于 php-fpm / nginx 的问题(而且有很多)
richard
此外,php-fpm 以 root 身份运行,为具有权限的用户创建 unix 套接字文件 0777
,并且池使用我的用户名运行richard
,而 nginx 使用用户运行richard