Cómo instalar NGINX con PHP-FPM en Centos 8

Cómo instalar NGINX con PHP-FPM en Centos 8

La forma común de ejecutar PHP con NGINX es el módulo FastCGI. El PHP-FPM (FastCGI Process Manager) aumenta dramáticamente el rendimiento de su entorno NGINX/PHP. Entonces esto es útil para sitios web de alta carga. Este tutorial lo ayudará a configurar PHP-FPM con Nginx en el sistema CentOS 8 y Rhel 8 Linux.

Referencias

  • El sistema recién instalado se recomienda seguir la configuración del servidor inicial.
  • Acceso de shell al sistema CentOS 8 con cuenta de privilegios de sudo.

Paso 1 - Instale Nginx

Los paquetes NGINX están disponibles en el repositorio de AppStream predeterminado. Simplemente puede actualizar el caché DNF e instalar paquetes de servidor web NGINX utilizando los siguientes comandos.

sudo dnf actualización sudo dnf install nginx 

Después de la instalación de los paquetes inicia el servicio Nginx, también habilite el servicio NGINX para iniciar automáticamente en el arranque del sistema.

sudo systemCTL habilita nginx sudo systemctl iniciar nginx 

Paso 2: instale PHP con PHP -FPM

El repositorio REMI contiene los últimos paquetes PHP para el sistema CentOS 8 Linux. Entonces, en primer lugar, debe agregar el repositorio REMI a su sistema. Simplemente ejecute el siguiente comando para agregar el repositorio.

sudo dnf instalar dnf-utils http: // rpms.remirepo.NET/Enterprise/REMI-RELEASE-8.rpm 

Luego habilite el módulo DNF requerido para la instalación de PHP. Aquí estamos permitiendo el módulo para instalar PHP 7.4. Puedes cambiar esto a PHP 7.3 o Php 7.2 Según sus requisitos.

SUDO DNF MODULE RESET PHP SUDO DNF Módulo Habilitar PHP: REMI-7.4 

Ahora, instale el PHP en su sistema. Ya que vamos a usar FastCGI Process Manager (FPM) para esta configuración. Así que instale el paquete PHP-FPM también.

SUDO DNF Actualización SUDO DNF Instalar PHP PHP-FPM PHP-GD PHP-MYSQLND 

También puede necesitar más módulos PHP, así que instálelos antes de ir a continuación. Después de completar la instalación de PHP, habilite el servicio PHP-FPM y comience.

SUDO SystemCTL Habilite PHP-FPM SUDO SystemCTL Inicio PHP-FPM 

Asegúrese de que el servicio PHP-FPM se esté ejecutando.

SUDO SYSTEMCTL ESTADO PHP-FPM ● Php-FPM.Servicio: el Administrador de procesos PHP FastCGI Cargado: Cargado (/usr/lib/systemd/system/php -fpm.servicio; desactivado; Vendor Preset: Discapaced) Activo: Activo (en ejecución) desde el lunes 2019-12-09 21:44:57 PST; 1H 24 minutos PID principal: 29280 (Php-FPM) Estado: "Procesos activos: 0, inactivo: 5, Solicitudes: 3, lento: 0, tráfico: 0req/seg" Tareas: 6 (Límite: 10321) Memoria: 24.6m cgroup: /sistema.rebanada/php-fpm.Servicio ├─29280 Php-FPM: proceso maestro (/etc/php-fpm.conf) ├─29281 Php-FPM: Pool www ├─29282 php-fpm: piscina www ├─29283 php-fpm: piscina www ├─29284 php-fpm: piscina www └─29285 php-fpm: piscina www diciembre 21 21 21 211111 dec. : 44: 57 Tecadmin.ejemplo.COM Systemd [1]: Iniciar el administrador de procesos PHP FastCGI ... Dic 09 21:44:57 Tecadmin.ejemplo.com systemd [1]: inició el administrador de procesos PHP FastCGI. 

Paso 3 - Configurar PHP -FPM

En este paso, ha instalado todos los paquetes requeridos. Comencemos el proceso de configuración. Primero, edite el archivo de configuración de PHP-FPM:

sudo vim /etc /php-fpm.D/www.confusión 

Hacer los cambios como a continuación. Las últimas versiones de NGINX pueden conectarse al socket utilizando un proxy. Así que asegúrese de que escuchar esté configurado en un archivo de socket.

Luego configure el usuario y agrupe lo mismo que el servidor NGINX usando. Si necesita conectar FPM desde un sistema remoto, cambie la escucha.permitido_clients to lan ip en lugar de 127.0.0.1.

; escuchar = 127.0.0.1: 9000 escucha =/run/php-fpm/www.SOCK USER = www-data group = www-data escucha.permitido_clients = 127.0.0.1 Escucha.propietario = www-data escucha.grupo = www-data escucha.modo = 0660 pm = dinámico
1234567891011; escuchar = 127.0.0.1: 9000Listen =/run/php-fpm/www.SOCK USER = www-dataGroup = www-data escucha.permitido_clients = 127.0.0.1 Listena.propietario = www-datalisten.grupo = www-datalisten.modo = 0660pm = Dynamic

Después de hacer cambios, reinicie el servicio PHP-FPM para aplicar cambios.

sudo systemctl reiniciar PHP-FPM 

Paso 4 - Crear bloque de servidor NGINX

Ahora, cree un bloque de servidor en NGINX para su dominio y configúrelo para usar PHP-FPM para procesar archivos PHP. Cree un archivo de bloque de servidor y edite en un editor de texto:

sudo vim/etc/nginx/conf.D/Ejemplo.comunicarse.confusión 

Ahora se agregó la configuración proxy utilizando un archivo de socket. También configuró todo el script PHP para usar el controlador FPM para la ejecución.

servidor escuchar 80 default_server; Ejemplo de server_name.com www.ejemplo.com; root/var/www/html; # Cargar archivos de configuración para el bloque de servidor predeterminado. incluir/etc/nginx/predeterminado.d/*.conf; ubicación / ubicación ~* \.PHP $ # con PHP-FPM UNIX Sockets FastCGI_Pass unix:/run/php-fpm/www.calcetín; incluir fastcgi_params; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;
12345678910111213141516171819servidor escuchar 80 default_server; Ejemplo de server_name.com www.ejemplo.com; root/var/www/html; # Cargar archivos de configuración para el bloque de servidor predeterminado. incluir/etc/nginx/predeterminado.d/*.conf; ubicación / ubicación ~* \.PHP $ # con PHP-FPM UNIX Sockets FastCGI_Pass unix:/run/php-fpm/www.calcetín; incluir fastcgi_params; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;

Guarde el archivo de configuración del bloque del servidor y reinicie el servicio NGINX para aplicar cambios.

sudo systemctl reiniciar nginx 

Paso 5 - Habilitar reglas de firewall

Su servidor está listo para servir a la aplicación. Si hay un firewall habilitado en su sistema, asegúrese de que los puertos HTTP estén abiertos para acceder desde sistemas remotos.

Los siguientes comandos abrirán los puertos requeridos para usted.

sudo firewall-cmd --zone = public --permanent --add-service = http sudo firewall-cmd --zone = public --permanent --add-service = https sudo firewall-cmd 

Paso 6 - Configuración de prueba

Todo listo. Para probar el entorno, cree un script PHP con phpinfo () función. Coloque este archivo en la raíz del documento de su servidor. Use el siguiente comando para hacer esto.

eco "">/var/www/html/info.php 

Luego acceder a la información.PHP usando la dirección IP del servidor (para VirtualHost predeterminado) para su dominio configurado en el bloque Nginx Server.

http: // localhost/info.php 

Deslice la página y verifique el valor de $ _Server ['server_software'] en la sección Variables PHP. Esto le mostrará el nombre del servidor web ejecutándose en.

Conclusión

Ha configurado con éxito un NGINX con PHP-FPM en su sistema CentOS 8 o Rhel 8 Linux. Ahora puede alojar un sitio web desde su servidor.