简体   繁体   中英

Cannot get PHP to serve on Nginx — Error 404

I'm fairly new to nginx and assumed it would be very straightforward to serve php with it since that setup is so common, but it seems like it's much more complex than I anticipated.

Here's my config..

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;
        }
}

If I replace the "index.php" with a "index.html" file, nginx serves up the html perfectly.

I've seen guides that recommend modifying anything from iptables to php-fpm to the php.ini, to fast-cgi to sites-available..?

I'm not sure what many of these tutorials are trying to do exactly... for now I'd just like my index.php to serve up phpinfo(). What's the next step to troubleshoot the 404 error?

Is there a clear guide that goes over the various options available for serving php with nginx?

Debian Wheezy 7.3 on xen

Try this config:

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;
    }
}

(assuming your index.php file is in /srv/www/domain.com/public_html)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM