Con la cada vez más rápida implantación y adaptación de php-fpm como servidor de compilación para ficheros tipo PHP, se abre un amplio abanico de posibilidades a la hora de trabajar y escalar sistemas web. En típico sistema Nginx + PHP, todo en la misma máquina ya queda obsoleto y ahora podemos pasar a un sistema con cada uno de los componentes separados en distintas máquinas y por lo tanto escalables. Esto quedará para otra entrada...
Hoy vamos a ver cómo crear una configuración de php-fpm por un socket unix tradicional y no desde una conexión TCP, como suele aparecer en casi todos los lugares. Las ventajas de emplear el socket y no TCP es que trabajando a nivel de localhost no es necesario y nos evitamos la carga innecesaria de la creación de las nuevas conexiones cada vez que se compila un código PHP. Mejoramos en rendimiento y también en seguridad, pues no hay ningún servicio ni ningún puerto abierto, aunque sea a localhost.
Para hacer este cambio y por lo tanto aprovechar esta mejora de rendimiento, podemos hacer lo siguiente,
- Editar /etc/php5/fpm/php-fpm.conf y aplicar el siguiente cambio,
- listen = 127.0.0.1:9000 + listen = /var/run/php5-fpm.sock
- Editar el fichero del virtualhost /etc/nginx/conf.d/domain.conf y aplicar el siguiente cambio,
-fastcgi_pass 127.0.0.1:9000; +fastcgi_pass unix:/var/run/php5-fpm.sock;
- Reiniciar servicios
shell> service php-fpm restart shell> service nginx restart