Drupal 8 on Nginx

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Garrett Albright's picture

I've recently been trying to give Drupal 8 a serious look. I'm having a problem going through the install process, though, and I don't know if it's Drupal 8, Drupal 8 and Nginx, or just me. Have any other Nginx users been able to install D8 successfully recently?

Specifically, I get to the stage after entering the database credentials, where Drupal shows the progress bar and starts installing stuff. However, the process stops with a red warning box showing a 502 Bad Gateway error. But if I click on the link to get taken to the error page, I go to the page where I enter the name of the Drupal site and the credentials for user 1 as if nothing wrong happened. After submitting that form, however, all pages result in a 404 via Drupal (not via Nginx).

Comments

I got the same 502 error, did

VisualFox's picture

I got the same 502 error, did the same thing, was then sent to the next wizard page, where I was able to finish the installation without any other issue and my drupal 8 site is working correctly.

Philippe Blanc

President and founder of VisualFox LLc http://www.visualfox.me
Founder of OYOAHA which helped to organize the first Drupal Con in Portland
President and founder of the short lived Blacktonic A

Same here

mesch's picture

The exact same thing happened to me the other day when installing the latest D8. It's up an running now.

It worked for me

perusio's picture

back in June/july 2012. Must have a look currently.

same errors

heddn's picture

I'm getting them too. php-fpm.log output below:

[25-Apr-2013 14:00:48.607330] DEBUG: pid 23684, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www0] currently 1 active children, 3 spare children, 4 running children. Spawning rate 1
[25-Apr-2013 14:00:48.607373] DEBUG: pid 23684, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www1] currently 0 active children, 3 spare children, 3 running children. Spawning rate 1
[25-Apr-2013 14:00:49.228051] WARNING: pid 23684, fpm_request_check_timed_out(), line 271: [pool www0] child 23688, script '/home/user/websites/drupal/core/install.php' (request: "POST /core/install.php") executing too slow (17.523885 sec), logging
[25-Apr-2013 14:00:49.228135] DEBUG: pid 23684, fpm_got_signal(), line 72: received SIGCHLD
[25-Apr-2013 14:00:49.228161] NOTICE: pid 23684, fpm_children_bury(), line 227: child 23688 stopped for tracing
[25-Apr-2013 14:00:49.228173] NOTICE: pid 23684, fpm_php_trace(), line 142: about to trace 23688
[25-Apr-2013 14:00:49.228653] NOTICE: pid 23684, fpm_php_trace(), line 170: finished trace of 23688
[25-Apr-2013 14:00:49.228687] DEBUG: pid 23684, fpm_event_loop(), line 409: event module triggered 1 events

@GarretHave you found a

flocondetoile's picture

@Garret

Have you found a solution ? I got exactly the same problem.
And i don't succeed (after 6 try) to install Drupal 8.

I've got too sometimes this error just after choosing language

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/drupal8/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php:316) in drupal_send_headers() (line 1172 of core/includes/bootstrap.inc).
    Warning: Cannot modify header information - headers already sent by (output started at /var/www/drupal8/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php:316) in drupal_send_headers() (line 1172 of core/includes/bootstrap.inc).
    Warning: Cannot modify header information - headers already sent by (output started at /var/www/drupal8/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php:316) in drupal_send_headers() (line 1172 of core/includes/bootstrap.inc).
    Warning: Cannot modify header information - headers already sent by (output started at /var/www/drupal8/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php:316) in drupal_send_headers() (line 1172 of core/includes/bootstrap.inc).

And, sometimes too, after entering the database credentials, i've got this error

An AJAX HTTP error occurred.
HTTP Result Code: 502
Debugging information follows.
Path: http://drupal8.local/core/install.php?langcode=fr&profile=standard&id=1&...
StatusText: Bad Gateway
ResponseText:
502 Bad Gateway
502 Bad Gateway
nginx
jamonation's picture

First, the solution is to add this fastcgi_param:

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

Now a little troubleshooting for anyone else who comes across this:

If you look at your nginx log you will see entries like this:

2013/06/18 17:18:01 [error] 7254#0: *49 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in
/srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 302
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 2660
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 2668
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 623
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 649" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /core/install.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5.sock:", host: "127.0.0.1"

You will be able to get to the setup database page, at which point the core/install.php will break. Specifically when you first POST the parameters, it will get sent off to the server, but the subsequent GET of the same URL will fail:

2013/06/18 17:28:42 [error] 7507#0: *95 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 302
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 2660
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 2668
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 623
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 649" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "POST /core/install.php?langcode=en&profile=standard HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5.sock:", host: "127.0.0.1"

The POST looks to create tables in the database. Then you'll see an error, which is where everything fails without index.php being passed as the SCRIPT_NAME variable:

2013/06/18 17:28:42 [error] 7507#0: *95 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 302
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 2660
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 2668
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 623
PHP message: PHP Notice:  Undefined index: SCRIPT_NAME in /srv/www/drupal-8.x-dev/core/includes/bootstrap.inc on line 649
PHP message: PHP Fatal error:  Call to undefined function theme() in /srv/www/drupal-8.x-dev/core/includes/install.core.inc on line 934" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /core/install.php?langcode=en&profile=standard&op=start&id=1 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5.sock:", host: "127.0.0.1"

See that GET? That's where you get the white screen and the installer breaks without a defined SCRIPT_NAME. You can get a little further if you use a fastcgi_index index.php directive, but that doesn't fix the problem, and you should use the SCRIPT_NAME instead.

I don't know enough about the internals of Drupal to explain why this works, only that I can guarantee that adding this parameter does indeed work and you can browse a shiny new Drupal 8 served via nginx.

Yep

perusio's picture

that does the trick. Here's my current fastcgi_drupal.conf: https://gist.github.com/perusio/5813867

This is with regards to my config. There are some new files there, that must be protected. I'll start a D8 branch.

Thanks @jamonation

EDIT: That's just for the install phase, later you still need the

fastcgi_param SCRIPT_NAME $fastcgi_script_name. In fact what we need is to overload the FastCGI params during install only.

Hi I am using your

flocondetoile's picture

Hi
I am using your configuration.

I finally succeed to install Drupal 8 after ten attempt...with a refresh page...

My fastcgi_drupal.conf looks like this actually

#-- mode: nginx; mode: flyspell-prog; ispell-local-dictionary: "american" --
### fastcgi configuration for serving private files.
## 1. Parameters.
fastcgi_param  QUERY_STRING       q=$uri&$args;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        /index.php;
#fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
## PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
## 2. Nginx FCGI specific directives.
fastcgi_buffers 256 4k;
fastcgi_intercept_errors on;
## Allow 4 hrs - pass timeout responsibility to upstream.
fastcgi_read_timeout 14400;
fastcgi_index index.php;
## Hide the X-Drupal-Cache header provided by Pressflow.
fastcgi_hide_header 'X-Drupal-Cache';
## Hide the Drupal 7 header X-Generator.
fastcgi_hide_header 'X-Generator';

If i change
fastcgi_param SCRIPT_NAME /index.php;
with this
fastcgi_param SCRIPT_NAME $fastcgi_script_name;

then on all my drupal site (version 7 or 8, developpement of course), i've got then access denied on all the pages, and the style is broken.

Certainly because i remove index.php from my configuration.

Odd

jamonation's picture

That's odd @flocondetoile - if you are using php5-fpm and want to do a bit of digging, edit your pool ini file and look at the logging line:

Make sure you uncomment access.log and point it to a directory that exists, e.g.

access.log = /var/log/php5-fpm/$pool.access.log

Then look at the format line and add in any fastcgi_param inside %{PARAM}e like this:

access.format = %R - %u %t "%m %r%Q%q" %s %f %{SCRIPT_NAME}e  %{mili}d %{kilo}M %C%%

Now you'll be able to see the $fastcgi_script_name for every request.

In fact, it's only with a

flocondetoile's picture

In fact, it's only with a drupal 8 site that i've got access denied (as Perusio seems to confirm), except for the homepage

- -  19/Jun/2013:15:57:13 +0200 GET /index.php?q=/& 200 /var/www/drupal8/index.php /index.php  320.526 8192 96.72%
- -  19/Jun/2013:15:57:14 +0200 GET /toolbar/subtrees/zcNLmisHdWvdlIAN3KiSzmlcEPs76Jp-OeBhTj1iCvk?q=/toolbar/subtrees/zcNLmisHdWvdlIAN3KiSzmlcEPs76Jp-OeBhTj1iCvk& 403 /var/www/drupal8/index.php /toolbar/subtrees/zcNLmisHdWvdlIAN3KiSzmlcEPs76Jp-OeBhTj1iCvk  127.949 4608 101.60%
- -  19/Jun/2013:15:57:14 +0200 POST /contextual/render?q=/contextual/render&destination=node 403 /var/www/drupal8/index.php /contextual/render  65.232 2816 107.31%
- -  19/Jun/2013:15:57:15 +0200 GET /index.php?q=/& 200 /var/www/drupal8/index.php /index.php  320.005 8192 96.87%
- -  19/Jun/2013:15:57:15 +0200 GET /toolbar/subtrees/zcNLmisHdWvdlIAN3KiSzmlcEPs76Jp-OeBhTj1iCvk?q=/toolbar/subtrees/zcNLmisHdWvdlIAN3KiSzmlcEPs76Jp-OeBhTj1iCvk& 403 /var/www/drupal8/index.php /toolbar/subtrees/zcNLmisHdWvdlIAN3KiSzmlcEPs76Jp-OeBhTj1iCvk  125.862 4608 95.34%
- -  19/Jun/2013:15:57:15 +0200 POST /contextual/render?q=/contextual/render&destination=node 403 /var/www/drupal8/index.php /contextual/render  65.143 2816 92.11%
- -  19/Jun/2013:15:57:17 +0200 GET /admin/config?q=/admin/config&render=overlay 403 /var/www/drupal8/index.php /admin/config  192.262 5632 93.62%
- -  19/Jun/2013:15:57:18 +0200 GET /admin/config?q=/admin/config& 403 /var/www/drupal8/index.php /admin/config  186.757 5632 96.38%
- -  19/Jun/2013:15:57:20 +0200 GET /index.php?q=/& 200 /var/www/drupal8/index.php /index.php  316.093 8192 98.07%
- -  19/Jun/2013:15:57:21 +0200 GET /toolbar/subtrees/zcNLmisHdWvdlIAN3KiSzmlcEPs76Jp-OeBhTj1iCvk?q=/toolbar/subtrees/zcNLmisHdWvdlIAN3KiSzmlcEPs76Jp-OeBhTj1iCvk& 403 /var/www/drupal8/index.php /toolbar/subtrees/zcNLmisHdWvdlIAN3KiSzmlcEPs76Jp-OeBhTj1iCvk  127.072 4608 94.43%
- -  19/Jun/2013:15:57:21 +0200 POST /contextual/render?q=/contextual/render&destination=node 403 /var/www/drupal8/index.php /contextual/render  65.212 2816 92.01%

For the drupal 7 site, it's only the appareance that is broken.

- -  19/Jun/2013:16:17:42 +0200 GET /content/section/le-doctorat?q=/content/section/le-doctorat& 404 /var/www/workbench.local/index.php /content/section/le-doctorat  60794.330 7936 8.22%
- -  19/Jun/2013:16:17:42 +0200 GET /content/section/index.php?q=/content/section/& 404 /var/www/workbench.local/index.php /content/section/index.php  65346.792 7936 7.96%
- -  19/Jun/2013:16:17:42 +0200 GET /content/section/index.php?q=/content/section/& 404 /var/www/workbench.local/index.php /content/section/index.php  67342.706 7936 8.02%
- -  19/Jun/2013:16:17:42 +0200 GET /content/section/index.php?q=/content/section/& 404 /var/www/workbench.local/index.php /content/section/index.php  71614.076 7936 7.81%
- -  19/Jun/2013:16:17:42 +0200 GET /content/section/index.php?q=/content/section/& 404 /var/www/workbench.local/index.php /content/section/index.php  79265.838 7936 7.29%
- -  19/Jun/2013:16:17:42 +0200 GET /content/section/section/le-gripic-en-bref?q=/content/section/section/le-gripic-en-bref& 404 /var/www/workbench.local/index.php /content/section/section/le-gripic-en-bref  82413.064 7936 7.27%
- -  19/Jun/2013:16:17:42 +0200 GET /index.php?q=/& 200 /var/www/workbench.local/index.php /index.php  91658.060 9728 6.88%
- -  19/Jun/2013:16:17:42 +0200 GET /js/admin_menu/cache/3488ea3ef8fafd41dd02732518aeb51b?q=/js/admin_menu/cache/3488ea3ef8fafd41dd02732518aeb51b& 200 /var/www/workbench.local/index.php /js/admin_menu/cache/3488ea3ef8fafd41dd02732518aeb51b  91957.020 4352 6.93%
- -  19/Jun/2013:16:17:42 +0200 GET /section/le-doctorat?q=/section/le-doctorat& 200 /var/www/workbench.local/index.php /section/le-doctorat  95754.289 9216 6.92%
- -  19/Jun/2013:16:17:42 +0200 GET /content/genitus-premo-velit-voco?q=/content/genitus-premo-velit-voco& 200 /var/www/workbench.local/index.php /content/genitus-premo-velit-voco  107843.281 8960 6.37%

Then i switch to
fastcgi_param SCRIPT_NAME /index.php;

And all is working fine...

Are you sure ? Do you mean :

flocondetoile's picture

Are you sure ?

Do you mean : later we still need the
fastcgi_param SCRIPT_NAME /index.php

and not
fastcgi_param SCRIPT_NAME $fastcgi_script_name

Best regards

Yep

perusio's picture

this just needs an overload during the installation. Otherwise you get access denied.

Are we sure that we should be

Garrett Albright's picture

Are we sure that we should be fixing this in perusio's config and not in Drupal itself? It seems fishy that this would only be broken on installation.

regular AJAX error

flocondetoile's picture

After successfully installing Drupal 8 (on nginx with perusio's config), I still get regular AJAX errors, simply when I have a progress bar (as during the process installation) for example with an installation/update of another language. Seems to be aleatoty...

An AJAX HTTP error occurred.
HTTP Result Code: 502
Debugging information follows.
Path: http://drupal8.local/...
StatusText: Bad Gateway
ResponseText:
502 Bad Gateway
502 Bad Gateway
nginx

I've seen a lot other people

Fidelix's picture

I've seen a lot other people with the same problem.
Check the D8 requirements, you need php5-curl installed. If that doesn't solve it, try checking the nginx error log

I just did a successful

Garrett Albright's picture

I just did a successful install of D8 on Drupal today via the GUI. I guess whatever was broke has since been fixed. Good, because I was getting the impression that there wasn't much overlap on the Venn diagram of "Nginx users" and "People who know a lot about D8" yet. Let's see if I can do my own small part to fix that…

I'm currently having an issue

Garrett Albright's picture

I'm currently having an issue where any time my the site needs to do an on-site redirection, there's a 502 Bad Gateway error page, and the following is printed in nginx's error log:

2013/12/11 15:25:41 [error] 40090#0: *60 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: d8.test, request: "GET /batch?op=start&id=11 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "d8.test", referrer: "http://d8.test/en/admin/config/development/testing"

Things work fine in D7, so I think this might be a recent regression in Drupal 8. Am I the only one?

You're not alone !

florian.cathala's picture

I'm having the same issue and currently investigating.
Unfortunately I can't find any detail in any log file or watchdog...
I'll keep you informed of my progress in the analysis !

I'm looking into it further.

Garrett Albright's picture

I'm looking into it further. Via git bisect, I've found that commit 00cb147e146d24c87bc31462e9ff3aabb3dd1569 is the culprit; it replaces drupal_goto() with RedirectResponse, a Symfony class. It was committed back in June, so I'm not sure why it just now seems to be cropping up… Unfortunately, further attempts to debug the problem haven't worked; for whatever reason, my breakpoints inside the Symfony class are never reached. I'll try to experiment further for the good of all my Nginx bretheren.

Quick fix

florian.cathala's picture

Hello,

Finally it seems that the move to RedirectResponse does no longer allow upstream connection cache...
I've just found a quick fix by commenting out the "keepalive 5" line in the upstream configuration (upstream_php*.conf files in perusio's Nginx config) !

Thanks, florian.cathala! I

Garrett Albright's picture

Thanks, florian.cathala! I was trying a whole bunch of things, and nothing worked… but sure enough, commenting out the "keepalive" line fixed the problem. Gulp, I was afraid I was going to have to switch back to Apache to finish this project there for a minute!

Wise wizard perusio, are you reading this? Any idea what might be going on? I really couldn't see anything strange going on in RedirectResponse and related classes that would cause that to fail, but the old drupal_goto() to not fail… it seems to be doing the same thing as far as the HTTP response is concerned. A stumper.

It works!

mesch's picture

I can confirm this issue and the quick fix. Thanks Florian!

hello, i run d6,d7 and d8

eule's picture

hello,
i run d6,d7 and d8 site on my environment and i never have problems with installation from d8 alpha releases.

Greets from Germany
Prepaid Tarifvergleich

Are you using Perusio's

Garrett Albright's picture

Are you using Perusio's config? I haven't yet ruled out something in the Nginx layer causing this problem.

no i don´t use Perusio's

eule's picture

no i don´t use Perusio's config ...just parts of
i have nginx and varnish running and just wondering me about your problems but see i´m not a pro at all
i run nginx 1.4.3 and still all sites are running

Server: nginx
Content-Type: text/html; charset=UTF-8
X-Powered-By: PHP/5.3.10-1ubuntu3.8
Cache-Control: max-age=315360000
X-Drupal-Cache: HIT
Etag: "1384507418"
x-ua-compatible: IE=edge,chrome=1
Content-Language: de
Last-Modified: Fri, 15 Nov 2013 09:23:38 GMT
x-generator: Drupal 8 (http://drupal.org)
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Vary: Cookie, accept-encoding
Content-Encoding: gzip
Content-Length: 3627
Accept-Ranges: bytes
Date: Thu, 19 Dec 2013 08:05:36 GMT
X-Varnish: 952803315 952802639
Age: 18589
Via: 1.1 varnish
X-Varnish-Cache: HIT
X-Varnish-Cache-Hits: 5

Greets from Germany
Prepaid Tarifvergleich

Install Protected by Auth

mesch's picture

A few additional notes re: Perusio's config for D8 installations:
- By default /core/install.php will be prohibited; you need to uncomment "include apps/drupal/drupal_install.conf" in your virtual host (assuming it's based on example.com.conf), or manually handle this location yourself.
- "drupal_install.conf" protects this location by http auth. If you don't want/need this protection, you can uncomment the two lines starting with "auth_basic" under the /core/install.php location.

Getting rid of ?q="..."

mesch's picture

As per https://drupal.org/node/1659580, it seems the q query string parameter is no longer necessary nor supported in core. I've noticed that when submitting some forms on Drupal 8 I'm being redirected to a page with the full path followed by a query parameters also containing the full path. Such as:

http://localsite/admin/config/system/site-information?q=admin/config/sys...

I found that changing the fastcgi_param QUERY_STRING to "$query_string" from "q=$uri&args" in both "fastcgi_drupal.conf" and "fastcgi_no_args_drupal.conf" solves that issue. However, I'm no nginx expert, and this is just me playing around on a dev machine.

I have regulary some 502 bad

flocondetoile's picture

I have regulary some 502 bad gateway error on Drupal 8 alpha 9.

Changing the fastcgi_param QUERY_STRING to "$query_string" from "q=$uri&args" seems to not have any effect. Same error for example when i clear the cache.

However, commenting out keepalive 5 in the upstream configuration seems to do the trick.

For reference, Seems to be a

flocondetoile's picture

For reference,
Seems to be a php bug
https://bugs.php.net/bug.php?id=67583&thanks=6
and
https://github.com/php/php-src/pull/709
which have been fixed/committed on july 7

Same problem - KeepAlive!!!

nicholasThompson's picture

This was happening to me while installing Drupal 8 beta1. GET's were fine, but posting a form triggered a 502 error as listed above.

The fix for me was

However, commenting out keepalive 5 in the upstream configuration seems to do the trick.

No idea why this didn't break anything else though.

I just tried an install of B1

Garrett Albright's picture

I just tried an install of B1 myself… I didn't get a 502 this time, but an error from Symfony, I think:

"Symfony\Component\Routing\Exception\RouteNotFoundException: Route "" does not exist. in Drupal\Core\Routing\RouteProvider->getRouteByName() (line 147 of /Users/Albright/Sites/d8.test/www/core/lib/Drupal/Core/Routing/RouteProvider.php)."

Trying to go to the front page manually causes a standard PHP undefined method.

What a mess. Perhaps I'll have a closer look over the weekend.

Commenting out keepalive 5

Steven Merrill's picture

Commenting out keepalive 5 fixed a similar issue for me as well.

right access ?

flocondetoile's picture

Are you sure that user which run nginx process have right access everywhere ?

Commenting out keepalive 5

emil.c's picture

Commenting out keepalive 5 in upstream_phpcgi_unix.conf (perusio's nginx config) helps on drupal 8 cloned from git (latest). Otherwise I get 502 on first page load (any page).