php fpm“;“未找到文件”;使用nginx/vagrant和cent/os 7
我有一个装有centos 7的流浪汉盒子php fpm“;“未找到文件”;使用nginx/vagrant和cent/os 7,php,symfony,nginx,vagrant,Php,Symfony,Nginx,Vagrant,我有一个装有centos 7的流浪汉盒子 config.vm.box = "centos/7" 我在上面配置了PHP7.1和一个nginx站点(symfony3)。问题是,当我访问该站点时,会出现以下错误: File not found. 检查nginx日志时,我发现: 2017/02/25 15:04:19 [error] 15763#15763: *5 FastCGI sent in stderr: "Primary script unknown" while reading res
config.vm.box = "centos/7"
我在上面配置了PHP7.1和一个nginx站点(symfony3)。问题是,当我访问该站点时,会出现以下错误:
File not found.
检查nginx日志时,我发现:
2017/02/25 15:04:19 [error] 15763#15763: *5 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.56.1, server: site.dev, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "site.dev"
Nginx正在以www数据用户身份运行:
www-data 15763 0.0 0.1 46292 3216 ? S 13:16 0:00 nginx: worker process
我认为这可能与权限问题有关,我检查了vhost文档根目录的文件权限,发现所有者是用户“games”wtf
但如果我尝试做一个chown,我会得到一个操作不允许的错误
以下是vhost配置文件:
server {
listen 80;
server_name {{www_domain}};
return 301 https://{{www_domain}}$request_uri;
}
server {
listen 443 ssl;
server_name {{www_domain}};
root {{www_document_root}};
ssl_certificate /etc/nginx/ssl/ssl_certificate.crt;
ssl_certificate_key /etc/nginx/ssl/ssl_certificate.key;
client_max_body_size 50M;
access_log /var/log/nginx/{{www_domain}}.access.log;
error_log /var/log/nginx/{{www_domain}}.error.log error;
# strip app.php/ prefix if it is present
rewrite ^/app\.php/?(.*)$ /$1 permanent;
## Static files are served directly.
location \/images\/(.*)$ {
expires max;
log_not_found off;
access_log off;
## No need to bleed constant updates. Send the all shebang in one
## fell swoop.
tcp_nodelay off;
## Set the OS file cache.
open_file_cache max=1000 inactive=120s;
open_file_cache_valid 45s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
}
location / {
index app.php;
try_files $uri @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}
location ~ ^/(app|app_dev|config)\.php(/|$) {
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS on;
fastcgi_intercept_errors on;
}
}
好吧,我为这个问题绞尽脑汁了几个小时,一直找不到解决办法,直到我切换到另一个流浪者盒子,它神奇地开始工作 我现在使用的是
config.vm.box=“bento/centos-7.3”
而不是centos/7
我不知道盒子之间有什么区别。如果有人能告诉我为什么一个有效而另一个无效,那么我很想知道。好吧,我为这个问题苦苦挣扎了几个小时,一直找不到解决方案,直到我切换到另一个流浪者箱,它神奇地开始工作 我现在使用的是
config.vm.box=“bento/centos-7.3”
而不是centos/7
我不知道盒子之间有什么区别。如果有人能告诉我为什么一个有效而另一个无效,那么我很想知道。问题是
SELINUX
,因为我运行此命令可以解决问题
$ setenforce 0
$ sed -i 's/SELINUX=\(enforcing\|permissive\)/SELINUX=disabled/g' /etc/selinux/config
问题是
SELINUX
,运行此命令可以解决问题
$ setenforce 0
$ sed -i 's/SELINUX=\(enforcing\|permissive\)/SELINUX=disabled/g' /etc/selinux/config
如果
www-data
用户也在运行php,您可以运行ps aux|grep'php-fpm'
@FrédéricHenri是的。我试着换成“游戏”,问题依然存在。我不知道如何调试php fpm为什么给我这个文件找不到错误是www-data
用户也在运行php,你能运行ps aux | grep'php-fpm'
@FrédéricHenri是的。我试着换成“游戏”,问题依然存在。我不知道如何调试为什么php fpm会给我这个文件未找到错误