php fpm“;“未找到文件”;使用nginx/vagrant和cent/os 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

我有一个装有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 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会给我这个文件未找到错误