Fedora - Nginx PHP-FPM - cambiando constantemente el socket FPM a root

Fedora - Nginx PHP-FPM - cambiando constantemente el socket FPM a root

Disculpas de antemano si mi terminología no está a la par.

Así que acabo de configurar con éxito mi máquina de desarrollo de trabajo en Fedora Workstation con Nginx y múltiples versiones de PHP (usando la colección de software de Remi Collet). Tengo PHP-5.6.30 escuchando en el puerto 9056 y PHP-7.0.19 escuchando en el puerto 9070. Esto funciona perfectamente.

Esta mañana decidí intentar ejecutar ambas instancias PHP usando FPM Sockets, que inicialmente funcionó hasta que reinicié el servicio PHP-FPM (esto resultó en un502 Puerta de enlace no válidaen el navegador y(13) Permiso denegadoerror en nginx error.log).

Entonces, usando PHP5.6 como ejemplo... cuando inicié por primera vez el php56-php-fpmservicio que generaba /opt/remi/php56/root/var/run/php-fpm/www.sock, cambié el www.sockusuario y el grupo del archivo generado a nginx:nginx. Después de reiniciar, php56-php-fpmsupe que www.sockse estaba restableciendo root:root. Ahora bien, no reiniciaré FPM constantemente, pero ¿debe haber una manera de establecer algunos valores predeterminados en el .sockarchivo? Mis archivos de configuración de fpm se ven así:

Me doy cuenta de que parece complicado empezar a trabajar correctamente, teniendo en cuenta que solo estoy haciendo esto para el desarrollo local.yque todo esto funcionó correctamente usando los puertos 9056 y 9070. Pero he leído que hay algunos beneficios de velocidad al usar sockets versus TCP, y vale la pena hacer el esfuerzo por cualquier cosa que acelere mi entorno de desarrollo local.

Entonces mis preguntas:

  1. ¿Qué es incorrecto en mi configuración que hace que se restablezca www.sock root:rootdespués de reiniciar el servicio FPM respectivo?
  2. ¿Realmente vale la pena alejarse de los puertos en favor de los enchufes?
  3. [ligeramente fuera de tema]: al utilizar la colección de software de Remi Collet, veo que los 2 paquetes PHP se instalan en diferentes ubicaciones: /opt/remi/php56y /etc/opt/remi/php70... para mantener la coherencia, ¿debería considerar mover cualquiera de estos a una ubicación más común?

Gracias

Respuesta1

Algunas cosas para comprobar...

1) De forma predeterminada, en CentOS, PHP no incluye los archivos de configuración en el php-fpm.ddirectorio, asegúrese de tenerlos include=/opt/remi/php56/root/etc/php-fpm.d/*.confen el php-fpm.confarchivo.

2) Debe asegurarse de configurar la propiedad del socket en la configuración del grupo php-fpm, por ejemplo:

[www]
listen       = /opt/remi/php56/root/var/run/php-fpm/$pool.sock
listen.owner = someuser
listen.group = somegroup
listen.mode  = 0600

Respuesta2

En mi propio caso en remi php80-php-fpm, tuve que cambiar listen.acl_usersla variable ../php-fpm.d/www.confal usuario de mi servidor web. Por ejemplo:

;comment: replace mywebserveruser with your own user 
listen.acl_users = mywebserveruser

información relacionada