mega gatewaynginx fruitywifi error bad nginx fastcgi php

gatewaynginx - Error 502 en nginx+php5-fpm



nginx 502 bad gateway php (4)

El problema es el propio socket, sus problemas en casos de carga elevada son bien conocidos. Considere usar la conexión TCP / IP en lugar del socket de Unix, para lo cual debe hacer estos cambios:

  • en la configuración del grupo php-fpm reemplace listen = /var/run/php5-fpm.sock con listen = 127.0.0.1:7777
  • en / etc / nginx / php_location reemplace fastcgi_pass unix:/var/run/php5-fpm.sock; con fastcgi_pass 127.0.0.1:7777;

Tengo un error con subj. El servidor no tiene una carga alta: ~ 15% de CPU, hay varios GB de memoria, el disco duro no es de tipo buisy. Pero el error 502 arroja aproximadamente en el 3% de los casos.

Programas: Debian 6, nginx / 0.7.62, php5-fpm (5.3.3-1).

En error.log de nginx es este error:

connect() to unix:/var/run/php5-fpm.sock failed

Estado de php5-fpm generalmente así:

accepted conn: 41680 pool: www process manager: dynamic idle processes: 258 active processes: 1 total processes: 259

Creo que esta carga media no es alta.

He aumentado los parámetros de backlog: en sysctl - net.core.somaxconn = 5000, en php-fpm pool - listen.backlog = 5000. Sin efecto.

Cito una configuración:

/etc/nginx/nginx.conf

user www-data; worker_processes 8; timer_resolution 100ms; worker_rlimit_nofile 20240; worker_priority -5; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 2048; use epoll; # multi_accept on; } http { include /etc/nginx/mime.types; access_log /var/log/nginx/access.log; sendfile on; tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; gzip on; gzip_min_length 1100; gzip_buffers 64 8k; gzip_comp_level 3; gzip_http_version 1.1; gzip_proxied any; gzip_types text/plain application/xml application/x-javascript text/css; gzip_disable "MSIE [1-6]/.(?!.*SV1)"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; client_max_body_size 100M; server_tokens off; }

/ etc / nginx / php_location

fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; fastcgi_buffers 256 128k; #fastcgi_buffer_size 16k; #fastcgi_busy_buffers_size 256k; fastcgi_connect_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s; include fastcgi_params;

grupo php-fpm

[www] listen = /var/run/php5-fpm.sock listen.backlog = 5000 listen.owner = www-data listen.group = www-data listen.mode = 0666 user = www-data group = www-data pm = dynamic pm.max_children = 1024 pm.start_servers = 64 pm.min_spare_servers = 64 pm.max_spare_servers = 128 pm.max_requests = 32000 pm.status_path = /system/php5-fpm-status slowlog = /var/www/log/php-fpm.log.slow chdir = /var/www

¿Qué puedo hacer para optimizar este sistema y hacer que esto use todos los recursos del servidor?

PD. Lo siento, mi inglés es malo.


En Centos 7, Plesk 12.5

Tuve este problema después de que mi disco duro se llenara y algunos servicios fallaran. Otros dominios funcionan perfectamente, pero ninguno de ellos me dio 502 y similares como tiempos de espera. Desde el registro de errores:

[crit] 3112#0: *65746768 connect() to unix:///var/www/vhosts/system/sub.domain.de/php-fpm.sock failed (2: No such file or directory) while connecting to upstream

Para resolverlo, tuve que (primero hacer espacio disponible y luego) reiniciar php-fpm y nginx - ¡entonces este error desapareció!


La única razón para que este archivo no se haya creado es la configuración en /etc/php-fpm.d/www.conf

Cambiar escuchar = 127.0.0.1:9000

Con listen = /var/run/php-fpm/php-fpm.sock

Y luego reinicia tanto nginx como php-fpm


Tengo el mismo problema, pero no deseo cambiar de sockets a TCP / IP. Reiniciar php-fpm y nginx resolverán el problema.

sudo /etc/init.d/php-fpm restart sudo /etc/init.d/nginx restart