无法让PHP在Nginx—;错误404

无法让PHP在Nginx—;错误404,php,nginx,Php,Nginx,我对nginx还比较陌生,我认为使用它来为php提供服务非常简单,因为这种设置非常常见,但它似乎比我预期的要复杂得多 这是我的配置 server { listen 80; server_name domain.com www.domain.com; location / { root /srv/www/domain.com/public_html; index index.php

我对nginx还比较陌生,我认为使用它来为php提供服务非常简单,因为这种设置非常常见,但它似乎比我预期的要复杂得多

这是我的配置

server {
        listen 80;
        server_name domain.com www.domain.com;

        location / {
                root   /srv/www/domain.com/public_html;
                index index.php;
        }

# serve static files directly
#location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt)$
#    access_log        off;
#    expires           30d;

        location ~ [^/]\.php(/|$) {
                fastcgi_split_path_info ^(.+?\.php)(/.*)$;
                if (!-f $document_root$fastcgi_script_name) {
                        return 404;
                }

                fastcgi_pass /var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}
如果我将“index.php”替换为“index.html”文件,nginx将完美地提供html

我看过一些指南,建议修改从iptables到phpfpm到php.ini,再到fastcgi到可用站点的任何内容

我不确定这些教程中有多少是想做什么。。。现在我只希望index.php提供phpinfo()。解决404错误的下一步是什么

是否有一个清晰的指南,介绍了使用nginx为php提供服务的各种选项

xen上的Debian Wheezy 7.3尝试以下配置:

server {
    listen   80;
    server_name domain.com www.domain.com;
    root /srv/www/domain.com/public_html;
    index index.php;

    location ~ ^(.+\.php)(/.*)?$ {
        fastcgi_pass  localhost:9000;
        include fastcgi_params;
    }
}

(假设您的index.php文件位于/srv/www/domain.com/public_html中)

要修复502,我必须将/etc/php5/fpm/pool.d/www.conf from.sock中的一行更改为listen=127.0.0.1:9000如果系统已经配置为处理sock文件,为什么要将其更改为端口?