Drupal 8 on Nginx

Events happening in the community are now at Drupal community events on www.drupal.org.
Posted by Garrett Albright on February 19, 2013 at 8:40am

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

Posted by visualfox on February 19, 2013 at 8:45am

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

Posted by mesch on February 22, 2013 at 7:19pm

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

Posted by perusio on February 22, 2013 at 3:08pm

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

same errors

Posted by heddn on April 25, 2013 at 7:23pm

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

Posted by flocondetoile on June 18, 2013 at 7:34pm

@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

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

Posted by perusio on June 19, 2013 at 12:42pm

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

Posted by flocondetoile on June 19, 2013 at 12:50pm

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

Posted by jamonation on June 19, 2013 at 12:57pm

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

Posted by flocondetoile on June 19, 2013 at 2:22pm

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 :

Posted by flocondetoile on June 19, 2013 at 12:52pm

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

Posted by perusio on June 19, 2013 at 1:52pm

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

Are we sure that we should be

Posted by Garrett Albright on June 21, 2013 at 10:30am

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

Posted by flocondetoile on June 21, 2013 at 11:17am

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

Posted by Fidelix on June 21, 2013 at 12:37pm

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

Posted by Garrett Albright on August 12, 2013 at 10:21pm

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

Posted by Garrett Albright on December 11, 2013 at 10:43pm

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 !

Posted by florian.cathala on December 12, 2013 at 5:17pm

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.

Posted by Garrett Albright on December 19, 2013 at 1:31am

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

Posted by florian.cathala on December 19, 2013 at 6:21pm

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

Posted by Garrett Albright on December 19, 2013 at 6:37pm

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!

Posted by mesch on January 26, 2014 at 5:54pm

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

hello, i run d6,d7 and d8

Posted by eule on December 19, 2013 at 2:39am

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

Posted by Garrett Albright on December 19, 2013 at 3:59pm

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

Posted by eule on December 19, 2013 at 5:37pm

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: 2013年11月15日 09:23:38 GMT
x-generator: Drupal 8 (http://drupal.org)
Expires: 2037年12月31日 23:55:55 GMT
Vary: Cookie, accept-encoding
Content-Encoding: gzip
Content-Length: 3627
Accept-Ranges: bytes
Date: 2013年12月19日 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

Posted by mesch on January 26, 2014 at 6:11pm

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="..."

Posted by mesch on January 26, 2014 at 6:32pm

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

Posted by flocondetoile on March 1, 2014 at 4:29pm

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

Posted by flocondetoile on September 14, 2014 at 6:59pm

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!!!

Posted by nicholasthompson on October 1, 2014 at 2:45pm

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

Posted by Garrett Albright on October 2, 2014 at 5:28am

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

Posted by Steven Merrill on November 1, 2014 at 9:06pm

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

right access ?

Posted by flocondetoile on October 2, 2014 at 5:44am

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

Commenting out keepalive 5

Posted by emil.c (not verified) on December 30, 2014 at 10:54am
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).

Nginx

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

AltStyle によって変換されたページ (->オリジナル) /