Estoy experimentando 502 Gateway
errores al acceder a un archivo PHP en un directorio ( http://example.com/dev/index.php
). Los registros simplemente dicen esto:
2011/09/30 23:47:54 [error] 31160#0: *35 connect() failed (111: Connection refused) while connecting to upstream, client: xx.xx.xx.xx, server: domain.com, request: "GET /dev/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "domain.com"
Nunca he experimentado esto antes. ¿Cuál es la solución para este tipo de 502 Gateway
error?
Este es el nginx.conf
:
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Respuestas:
Parece que no ha comenzado y configurado el backend para Nginx. Inicie
php-fpm
y agregue lo siguiente anginx.conf
, en elhttp
contexto:fuente
php-fpm
instalado. Salud.netstat -l
y vea/var/run/php5-fpm.sock
(la configuración para esto normalmente está en /etc/php5/fpm/pool.d/www.conf.fastcgi_pass unix:<socket>
listen = /var/run/php5-fpm.sock
dentro/etc/php5/fpm/pool.d/www.conf
. pero querráslisten = 9000
y;listen = /var/run/php5-fpm.sock
. si fueras como yo (o bien, alternativamente, se podía escuchar a sugerencia sabia por JohannesM que imagino que dejaría con algo parecido.fastcgi_pass unix:/var/run/php5-fpm.sock;
alguna parte de sunginx.conf
)Esta respuesta es solo para aquellos que obtienen un error como este:
Vuelva a escribir su configuración nginx para usar ip, no dns. Por ejemplo, en
127.0.0.1
lugar delocalhost
, o elimine el alias de ipv6 de / etc / hosts.fuente
listen 80
estaba bien (y hay muchos ejemplos con eso) pero no pensé que eso implicara direcciones IPv4 (127.0.0.1
) e IPv6 ([::1]
).listen 80 default_server
alisten 0.0.0.0:80
.Tengo errores como este también. El problema era mi backend abstracto que hacía referencia a dos servidores.
php-fpm
solo figuraba en el socket ...fuente
Tenido el mismo problema con las solicitudes de proxy a un servidor de nodo escucha en el puerto 5000. Las solicitudes se traduciría con
200 OK
pero en algún momento502 Bad Gateway
al azar. NGINX mostró el error:Mi solución:
server.listen(5000, 'localhost');
listen [::]:80;
olisten [::]:443 ssl default_server;
).proxy_pass http://127.0.0.1:5000
(noproxy_pass http://localhost:5000
).Espero que esto ayude a alguien.
fuente
En mi caso, el error fue una mala ubicación para el archivo error_log para el servicio php5.6-fpm y, por lo tanto, el servicio php-fpm no se pudo iniciar y nginx no pudo conectarse a él . Puede encontrarlo en
/etc/php/5.6/fpm/php.ini
(puede reemplazar 5.6 con la versión que está ejecutando).fuente
Justo hoy me encontré con este problema y para mí fue un problema de poca memoria durante un período de carga alta. Entonces subir de nivel el tipo de instancia solucionó el problema.
fuente
Tuve el mismo problema y agregué la declaración de escucha
trabajó para mi.
Curiosamente, tengo otros bloques de servidores que se ejecutan bastante bien sin esto.
fuente