Pregunta:
Tengo un servidor que estaba funcionando bien hasta el 3 de octubre de 2013 a las 10:50 am cuando comenzó a devolver intermitentemente errores "502 Bad Gateway" al cliente.
Aproximadamente 4 de cada 5 solicitudes del navegador tienen éxito, pero aproximadamente 1 de cada 5 falla con un 502.
El registro de errores de nginx contiene muchos cientos de estos errores;
2013/10/05 06:28:17 [error] 3111#0: *54528 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 66.249.66.75, server: www.bec-components.co.uk request: ""GET /?_n=Fridgefreezer/Hotpoint/8591P;_i=x8078 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.bec-components.co.uk"
Sin embargo, el registro de errores de PHP no contiene ningún error coincidente.
¿Hay alguna manera de hacer que PHP me brinde más información sobre por qué está restableciendo la conexión?
Este es nginx.conf
;
user www-data;
worker_processes 4;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 30;
tcp_nodelay on;
client_max_body_size 100m;
gzip on;
gzip_types text/plain application/xml text/javascript application/x-javascript text/css;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /gvol/sites/*/nginx.conf;
}
Y este es el .conf
de este sitio;
server {
server_name www.bec-components.co.uk bec3.uk.to bec4.uk.to bec.home;
root /gvol/sites/bec/www/;
index index.php index.html;
location ~ \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 2592000; # 30 days
log_not_found off;
}
## Trigger client to download instead of display '.xml' files.
location ~ \.xml$ {
add_header Content-disposition "attachment; filename=$1";
}
location ~ \.php$ {
fastcgi_read_timeout 3600;
include /etc/nginx/fastcgi_params;
keepalive_timeout 0;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
}
## bec-components.co.uk ##
server {
server_name bec-components.co.uk;
rewrite ^/(.*) http://www.bec-components.co.uk$1 permanent;
}
Respuesta:
Siempre confiaría en si mis servidores web me dicen: 502 Bad Gateway
- ¿Cuál es el tiempo de actividad de su proceso fastcgi / nginx?
- ¿supervisas las conexiones de red?
- ¿Puede confirmar / negar un cambio de recuento de visitantes alrededor de ese día?
Qué significa eso:
-
nginx no puede acceder a su fastcgi-process; ya sea para ralentizar o no corresponder en absoluto. puerta de enlace incorrecta significa: nginx no puede fastcgi_pass a ese recurso definido 127.0.0.1:9000; en ese momento tan específico .
-
sus registros de errores iniciales lo dicen todo:
.
recv() failed
-> nginx failed
(104: Connection reset by peer) while reading response header from upstream,
-> no complete answer, or no answer at all
upstream: "fastcgi://127.0.0.1:9000",
-> who is he, who failed???
desde mi punto de vista limitado, sugeriría:
- reinicia tu fastcgi_process / server
- revisa tu registro de acceso
- habilitar debug-log