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