GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo agregar compatibilidad con PHP-FPM en el servidor web Apache y Nginx en Ubuntu 18.04

Apache y Nginx son gratuitos, de código abierto y populares:los servidores web más utilizados en todo el mundo. Apache y Nginx se ejecutan en todos los sistemas operativos basados ​​en Unix. Apache es conocido por su poder, mientras que Nginx es conocido por su velocidad. Nginx también se utiliza como proxy inverso para HTTP, HTTPS, IMAP, SMTP, POP3 y como equilibrador de carga.

PHP-FPM (FastCGI Process Manager) es una implementación alternativa de PHP FastCGI especialmente diseñada para sitios web de alta carga. PHP-FPM le permite ejecutar varias versiones de PHP a la vez. PHP-FPM se puede ejecutar de forma diferente a mod_PHP en un servidor web. Si está buscando alojar su aplicación web con un rendimiento óptimo, entonces PHP-FPM es la mejor opción para usted.

En este tutorial, explicaremos cómo habilitar la compatibilidad con PHP-FPM en el servidor web Apache y Nginx en un servidor Ubuntu 18.04.

Requisitos

  • Un Ubuntu 18.04 VPS nuevo en Atlantic.Net Cloud Platform.
  • Un nombre de dominio válido apuntado a su dirección IP de VPS.

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 18.04 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor Ubuntu 18.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

apt-get update -y

Paso 2:habilite la compatibilidad con PHP-FPM en el servidor web Apache

En esta sección, aprenderemos cómo instalar y habilitar la compatibilidad con PHP-FPM en el servidor web Apache.

Instalar Apache y PHP-FPM

Primero, instale Apache y PHP-FPM ejecutando el siguiente comando:

apt-get install apache2 libapache2-mod-php libapache2-mod-fcgid php php-fpm php-cli -y

Una vez que todos los paquetes estén instalados, inicie el servicio Apache y PHP-FPM con el siguiente comando:

systemctl start apache2
systemctl start php7.2-fpm

Configurar Apache con compatibilidad con PHP-FPM

A continuación, deberá configurar el servidor web Apache con soporte PHP-FPM. Para hacerlo, cree un nuevo archivo de configuración de host virtual de Apache:

nano /etc/apache2/sites-available/example.com.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/
     DirectoryIndex info.php
     ServerName example.com

     <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>

    <FilesMatch \.php$>
        # 2.4.10+ can proxy to unix socket
         SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"
    </FilesMatch>

     ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
     CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

Guarde y cierre el archivo. Luego, habilite el archivo de configuración del host virtual con el siguiente comando:

a2ensite example.com

A continuación, deberá habilitar algunos módulos para que apache2 funcione con PHP-FPM:

a2enmod actions fcgid alias proxy_fcgi

A continuación, reinicie el servicio de Apache con el siguiente comando:

systemctl restart apache2

Paso 3:probar el servidor web Apache

El servidor web Apache ahora está configurado con soporte PHP-FPM. Es hora de probar si PHP-FPM está cargado con el servidor web Apache o no.

Para probarlo, cree un archivo info.php de muestra dentro del directorio raíz del documento de Apache:

nano /var/www/html/info.php

Agregue las siguientes líneas:

<?php
    phpinfo();
?>

Guarde y cierre el archivo y luego cambie la propiedad del archivo info.php a www-data:

chown www-data:www-data /var/www/html/info.php

A continuación, abra su navegador web y escriba la URL http://example.com . Debería ver la siguiente página:

La página anterior indica que PHP-FPM está cargado con el servidor web Apache.

Nota: No olvide eliminar el archivo info.php después de la prueba.

Paso 4:habilite la compatibilidad con PHP-FPM en el servidor web Nginx

En esta sección, aprenderemos cómo instalar y habilitar la compatibilidad con PHP-FPM en el servidor web Nginx.

Paso 5:instale Nginx y PHP-FPM

Primero, instale Nginx y PHP-FPM ejecutando el siguiente comando:

apt-get install nginx php php-fpm php-cli -y

Una vez que todos los paquetes estén instalados, inicie el servicio Nginx y PHP-FPM con el siguiente comando:

systemctl start nginx
systemctl start php7.2-fpm

Paso 6:configure Nginx con compatibilidad con PHP-FPM

A continuación, deberá configurar el servidor web Nginx con soporte PHP-FPM. Para hacerlo, cree un nuevo archivo de configuración de host virtual Nginx:

nano /etc/nginx/sites-available/example.com.conf

Agregue las siguientes líneas:

server {
        listen 80;
        root /var/www/html/;
        index info.php;
        server_name example.com;

        location ~ \.php$ {
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
          fastcgi_index index.php;
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          fastcgi_intercept_errors off;
          fastcgi_buffer_size 16k;
          fastcgi_buffers 4 16k;
          fastcgi_connect_timeout 600;
          fastcgi_send_timeout 600;
          fastcgi_read_timeout 600;
        }

   location / {
       try_files $uri $uri/ =404;
   }

}

Save and close the file. Then, enable the Nginx virtual host with the following command:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

A continuación, reinicie el servicio Nginx y PHP-FPM para aplicar los cambios de configuración:

systemctl restart nginx
systemctl restart php7.2-fpm

Paso 7:probar el servidor web Nginx

El servidor web Nginx ahora está configurado con soporte PHP-FPM. Es hora de probar si PHP-FPM está cargado con el servidor web Nginx o no.

Para probarlo, cree un archivo info.php de muestra en el directorio raíz del documento de Nginx:

nano /var/www/html/info.php

Agregue las siguientes líneas:

<?php
    phpinfo();
?>

Guarde y cierre el archivo y luego cambie la propiedad del archivo info.php a www-data:

chown www-data:www-data /var/www/html/info.php

A continuación, abra su navegador web y escriba la URL http://example.com . Debería ver la siguiente página:

La página anterior indica que PHP-FPM está cargado con el servidor web Nginx.

Nota: No olvide eliminar el archivo info.php después de la prueba.

Conclusión

¡Felicidades! Ha configurado con éxito el servidor web Nginx y Apache con soporte PHP-FPM. Espero que ahora tenga suficiente conocimiento para usar PHP-FPM para ejecutar varias versiones de PHP a la vez. Para comenzar con PHP-FPM en Apache y Nginx, regístrese hoy para un plan de alojamiento VPS con Atlantic.Net.


Linux
  1. Cómo instalar el servidor web Nginx en Ubuntu 18.04

  2. Cómo eliminar el servidor web Apache de Ubuntu

  3. ¿Cómo solucionar la vulnerabilidad DROWN en el servidor web Apache/NGINX y SMTP?

  4. Cómo instalar el servidor web Apache en Ubuntu

  5. Cómo instalar y configurar el servidor web Apache en Ubuntu 13.10

Cómo instalar Nginx en Ubuntu 14.04

Cómo instalar Nginx, MySQL y PHP (LEMP) en un servidor Ubuntu 15.04

Cómo agregar una IP privada a un servidor Ubuntu

Cómo instalar NGINX en Ubuntu 20.04

Cómo instalar y configurar un servidor web LAMP en Ubuntu 18.04

Cómo instalar NGINX como proxy inverso para Apache en Ubuntu 18.04