LINUX

Cómo habilitar múltiples instancias PHP-FPM con Nginx

PHP-FPM también se conoce como PHP FastCGI Process Manager. Es un avance de la implementación de PHP FastCGI con características más útiles para manejar servidores y sitios web muy cargados. Algunas de esas características se enumeran a continuación:

Nuevas características

  • Capacidad avanzada de gestión de procesos con elegantes opciones de inicio / parada.
  • Capacidad para ejecutar los procesos con diferentes userid / groupids escuchando en diferentes puertos y usando diferentes configuraciones de PHP.
  • Registro de errores.
  • Soporte de carga de aceleración
  • Función especial para finalizar la solicitud y vaciar todos los datos mientras realiza algunas tareas que requieren mucho tiempo
  • Generación de procesos secundarios dinámicos y estáticos
  • Restricción de dirección IP

En este artículo, voy a discutir sobre la instalación de PHP-FPM junto con Nginx y Apache en un servidor CentOS 7 que ejecuta cPanel 11.52 con EA3 (EasyApache) y cómo administrar esas instancias múltiples de PHP-FPM instaladas a través de CPanel.

Antes de pasar a los procedimientos de instalación, echemos un vistazo a los requisitos previos.

Prerrequisitos

  1. Habilitar el módulo Mod_proxy_fcgi
  2. Habilitar MPM_Event

Dado que estamos instalando PHP-FPM en un servidor EA3, necesitamos ejecutar EasyApache para compilar Apache y habilitar estos módulos.

Puede consultar mi documento anterior sobre cómo instalar Nginx como proxy inverso en un servidor Apache para confirmar con la instalación de Nginx.

Voy a resumir esos pasos de instalación una vez más aquí. Puedes consultar mi documentación anterior. (Cómo configurar Nginx como proxy inverso en CentOS 7 / CPanel Server) para detalles.

Step 1: Install the Epel repo
 Step 2: Install nDeploy RPM repo which is the most **IMPORTANT** step in this installation.
 Step 3: Install nDeploy and Nginx plugin using yum from the nDeploy repo.
 Step 4: Enable/Configure Nginx as reverse proxy

Una vez hecho esto, instale los paquetes PHP-FPM para todas las versiones de PHP disponibles en el servidor. EA3 usa el repositorio remi para instalar estos paquetes. Puede ejecutar este script nDeploy para descargar todos los paquetes.

root@server1 [~]# /opt/nDeploy/scripts/easy_php_setup.sh
Loaded plugins: fastestmirror, tsflags, universal-hooks
EA4 | 2.9 kB 00:00:00
base | 3.6 kB 00:00:00
epel/x86_64/metalink | 9.7 kB 00:00:00
epel | 4.3 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/2): epel/x86_64/updateinfo | 460 kB 00:00:00
(2/2): epel/x86_64/primary_db

La ejecución de este script instalará todos estos paquetes FPM para PHP 54, PHP 55, PHP 56 y PHP 70.

Installed Packages
 php54-php-fpm.x86_64 5.4.45-3.el7.remi @remi
 php55-php-fpm.x86_64 5.5.31-1.el7.remi @remi
 php56-php-fpm.x86_64 5.6.17-1.el7.remi @remi
 php70-php-fpm.x86_64 7.0.2-1.el7.remi @remi

Después de esta instalación, debe habilitar PHP-FPM SAPI para Apache. Puede ejecutar este script para habilitar instancias PHP-FPM.

root@server1 [~]# /opt/nDeploy/scripts/apache_php-fpm_setup.sh enable
mod_proxy_fcgi.c
Please choose one default PHP version from the list below
PHP70
PHP56
PHP54
PHP55
Provide the exact desired version string here and press ENTER: PHP54
ConfGen:: lxblogger
ConfGen:: blogr
ConfGen:: saheetha
ConfGen:: satest
which: no cagefsctl in (/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin)
info [rebuildhttpdconf] Missing owner for domain server1.centos7-test.com, force lookup to root
Built /usr/local/apache/conf/httpd.conf OK
Waiting for “httpd” to restart gracefully …waiting for “httpd” to initialize ……
…finished.

Le preguntará la versión de PHP requerida que prefiere ejecutar de forma predeterminada en el servidor. Puede ingresar esos detalles y proceder a configurar y generar los archivos de host virtual para los dominios existentes.

Elegí PHP 54 como la versión predeterminada de PHP-FPM en mi servidor.

confirmar-php-fpm

Aunque el servidor está configurado con PHP-FPM 54, podemos modificar las instancias de PHP-FPM para los dominios individuales a través de cPanel.

Le explicaré cómo modificar las instancias PHP-FPM para dominios individuales a través de cPanel usando algunas capturas de pantalla.

La instalación del complemento Nginx le proporcionará un icono de Nginx Webstack en el cPanel de su dominio. Puede hacer clic en ese icono para configurar su servidor web. He iniciado sesión en uno de los cPanel de mi dominio para configurar su servidor web.

Por favor revise estas instantáneas.

nginx webstack

nginxicon1

Ahora puede configurar el servidor web para el dominio principal seleccionado según sea necesario (he seleccionado el dominio principal saheetha.com aquí). He seguido adelante con las opciones de configuración automática desde entonces, no tengo ninguna configuración manual para agregar.

nginx_auto_proxy

Una vez que Nginx esté configurado, puede seleccionar la instancia PHP-FPM para su dominio aquí.

php-fpm1

php54

php55

Como puede ver en estas instantáneas, mi PHP-FPM predeterminado en el servidor es PHP 54 y estoy cambiando la instancia de PHP-FPM solo para mi dominio a PHP 55. Una vez que haya modificado PHP-FPM para su dominio, puede confirmarlo accediendo al phpinfo página.

Gracias por consultar este artículo. Creo que este artículo es realmente informativo y útil para ti. Recomendaría sus valiosos comentarios sobre esto :).

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar