PHP-FPM - Error 503 - Error al intentar conectarse al socket del dominio Unix

PHP-FPM - Error 503 - Error al intentar conectarse al socket del dominio Unix

Recibo en el servidor estos errores (CentOs 7):

[proxy:debug] proxy_util.c(2209): [client 80.251.245.153:61902] AH00944: connecting fcgi://127.0.0.1/data/webs/dev/index.php to 127.0.0.1:8000
[proxy:debug] proxy_util.c(2246): [client 80.251.245.153:61902] AH02545: fcgi: has determined UDS as /tmp/php56-fpm.sock
[proxy:debug] proxy_util.c(2418): [client 80.251.245.153:61902] AH00947: connected /data/webs/dev/index.php to httpd-UDS:0
[proxy:error] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /tmp/php56-fpm.sock (*) failed
[proxy_fcgi:error] AH01079: failed to make connection to backend: httpd-UDS
[proxy:debug] proxy_util.c(2171): AH00943: FCGI: has released connection for (*)

El socket existe, intenté cambiar los permisos a 777, pero no funcionó:

 ls -l /tmp/php56-fpm.sock
-rw-rw----. 1 apache apache 0 Feb 17 16:11 /tmp/php56-fpm.sock

Configuración de escucha de PHP-FPM www.conf (el archivo completo está aquí:https://pastebin.com/uD5GsMna):

escuchar=/tmp/php56-fpm.sock

Anfitrión virtual:

<VirtualHost *:80>
   ServerName dev.stavebninyfranek.com
   DocumentRoot "/data/webs/dev"
   <FilesMatch "\.php$">
     SetHandler  "proxy:unix:/tmp/php56-fpm.sock|fcgi://127.0.0.1"
   </FilesMatch> 
 </VirtualHost>

Mis archivos de configuración son (httpd.conf):https://pastebin.com/XS6cDuFQ

Intenté cambiar el socket, cambiar el permiso a apache: usuario de apache, pero no sé dónde está el problema.

Gracias

Respuesta1

Esto se debe potencialmente a la configuración de systemd en Apache; en Centos 7, por ejemplo, de forma predeterminada, el servicio está configurado con:

PrivateTmp=true

Lo que significa que obtiene su propio subdirectorio en /tmp visible como /tmp para que no pueda ver los archivos en /tmp agregados por otros programas. La solución sería no usar /tmp para sus sockets php-fpm (más seguro que configurar lo anterior en falso).

(Me doy cuenta de que en al menos un caso se está utilizando un derivado de Debian, ¡pero también usa systemd!)

paulie.

Respuesta2

cambie usuario y grupo a su usuario actual de Apache

/etc/php-fpm.d/www.conf 

** usuario y grupo deben ser iguales en/etc/http/conf/http.conf

Luego ejecuta

chown -R user.user /run/php-fpm/www.conf

** cambia a tu usuario

Creo que lo anterior es para centOS, porque soy un tipo de Debian. En realidad, esta es una de las soluciones para el problema 'Error 503 servicio no disponible' causado por el problema de permiso del calcetín php8. Entonces tu calcetín en apache estará en:

chown -R usuario.usuario /var/run/php/php8.1-fpm.sock

Respuesta3

Tuve el mismo problema después de actualizar Apache de 2.4.10 a 2.4.24. Con el antiguo Apache, la conexión a fcgi funcionaba con un socket /tmp, mientras que el nuevo Apache daba error (2)No such file or directory. Mover el enchufe para /var/runresolver el problema.

Al mirar el código fuente de mod_proxy, descubrí que en Apache más nuevo la ruta debe ser relativa a la especificada como DefaultRuntimeDir. En mi configuración, esto está configurado /etc/apache2/apache2.confy también usa alguna definición de /etc/apache2/envvars.

Respuesta4

Resolví este problema, cuando usé

/var/run/php5-fpm.sock

en lugar de /tmp/y está funcionando. Pero, ¿por qué no se puede utilizar otra carpeta en lugar de /var/run/?

información relacionada