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

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

La forma común de ejecutar PHP con Apache es el módulo MOD_PHP. Pero PHP-FPM tiene varias ventajas sobre esto. El PHP-FPM (FastCGI Process Manager) aumenta drásticamente el rendimiento de su entorno Apache/PHP. Entonces esto es útil para sitios web de alta carga. Este tutorial lo ayudará a configurar PHP-FPM con Apache en el sistema CentOS 8 y Rhel 8 Linux.

Referencias

  • Acceso de shell al sistema CentOS 8 con cuenta de privilegios de sudo.
  • Complete la configuración inicial del servidor para sistemas recién instalados.

Paso 1 - Instale Apache

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

sudo dnf actualización sudo dnf install httpd httpd-tools mod_ssl 

El paquete MOD_SSL proporciona la funcionalidad para usar un certificado SSL para HTTP seguro. Después de la instalación, habilite el servicio HTTPD y comience.

sudo systemCTL habilita httpd sudo systemctl iniciar httpd 

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 para Apache:

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

Hacer los cambios como a continuación. Las últimas versiones de Apache 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 Apache 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 = Apache Group = Apache Listen.permitido_clients = 127.0.0.1 Escucha.propietario = apache escucha.grupo = apache escuchar.modo = 0660 pm = dinámico
1234567891011; escuchar = 127.0.0.1: 9000Listen =/run/php-fpm/www.SOCK USER = apachegroup = apache escucha.permitido_clients = 127.0.0.1 Listena.Propietario = apeligrina.Grupo = apeligrina.modo = 0660pm = Dynamic

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

sudo systemctl reiniciar PHP-FPM 

Paso 4 - Crear Apache VirtualHost

Ahora, el tiempo es configurar Apache para usar PHP-FPM para procesar archivos PHP. Aquí hay dos opciones, o usa FPM como predeterminado para todos los hosts virtuales o puede configurar específicamente el host virtual para usar FPM. De esta manera, otros hosts virtuales no se verán afectados.

Para este ejemplo, estoy configurando FPM solo para un host virtual específico. Entonces el archivo de configuración editado en el editor de texto:

sudo vim/etc/httpd/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.

ServerAdmin [email protected] DocumentRoot/Var/www/html ServerName Ejemplo.com serveralias www.ejemplo.com # Declaración de proxy # Debemos declarar un parámetro aquí (no importa cuál) o # no registrará el proxy con anticipación proxyset discaplereuse = apagado # nota: si configura php-fpm para usar el "pm = OnDemand "#Then Use" ProxySet Disablereuse = en "Sethandler proxy: fcgi: // php-fpm errores de error/ejemplo.com-error.Registro de registro de registros/ejemplo.comunicado.registro combinado
1234567891011121314151617181920212232425 ServerAdmin [email protected] DocumentRoot/Var/www/html ServerName Ejemplo.com serveralias www.ejemplo.com # Declaración de proxy # Debemos declarar un parámetro aquí (no importa cuál) o # no registrará el proxy antes del tiempo proxyset discaplereuse = apagado # NOTA: Si configura PhP-FPM para usar el "PM = OnDemand" #Then use "proxyset discableReuse = on" Sethandler proxy: fcgi: // php-fpm Errorlog registro/ejemplo.com-error.Registro de registro de registros/ejemplo.comunicado.registro combinado

Guardar el archivo de configuración del host virtual y volver a cargar Apache para aplicar cambios.

sudo systemctl reiniciar httpd 

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 Apache 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 Apache VirtualHost.

http: // localhost/info.php 

Conclusión

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