A lo largo de esta publicación, lo guiaremos paso a paso para instalar Nginx con PHP-FPM en Debian 11.
Antes de comenzar, es necesario explicar qué son Nginx y PHP-FPM para comprender mejor el proceso.
Nginx es un servidor web HTTP de código abierto que destaca por ser muy rápido y eficiente . Además, Nginx está listo para usarse como proxy inverso. En este modo, se usa para equilibrar la carga entre los servidores back-end, así como para usarse como caché en un servidor back-end más lento.
Una de las principales ventajas de usar Nginx es que procesa decenas de miles de conexiones simultáneas en un proceso de CPU compacto de varios núcleos. Por eso es tan ligero, eficiente y, sobre todo, robusto.
A diferencia de Apache, Nginx no tiene un módulo para admitir PHP . Entonces tenemos que recurrir a PHP-FPM para soporte completo. Entonces, PHP-FPM es la implementación alternativa más popular de PHP FastCGI , y aunque se usa para sitios web de alto tráfico, podemos usarlo para agregar compatibilidad con PHP a un servidor Nginx.
En esta publicación, aprenderá cómo instalarlos para tener un servidor web liviano con buen soporte PHP.
Instalar Nginx con PHP-FPM en Debian 11
Paso 1:Instalar Nginx en Debian 11
Lo primero que debe hacer es instalar Nginx en Debian 11. La ventaja de esta aplicación es que está presente en los repositorios oficiales de muchas distribuciones de Linux. Entonces, instalarlo no será un problema.
Abra una conexión SSH a su servidor y cuando esté dentro, actualice el sistema por completo.
sudo apt update sudo apt upgrade
Ahora puedes instalar Nginx desde los repositorios oficiales así
sudo apt install nginx
Puede verificar el estado de Nginx para ver si la instalación fue exitosa.
sudo systemctl status nginx ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-10-11 21:39:55 CEST; 9s ago Docs: man:nginx(8) Process: 1821 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 1822 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 2011 (nginx) Tasks: 2 (limit: 2276) Memory: 5.3M CPU: 42ms CGroup: /system.slice/nginx.service ├─2011 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2014 nginx: worker process Oct 11 21:39:55 atechtown systemd[1]: Starting A high performance web server and a reverse proxy server... Oct 11 21:39:55 atechtown systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Oct 11 21:39:55 atechtown systemd[1]: Started A high performance web server and a reverse proxy server.
Luego, debe abrir los puertos en el firewall para que Nginx funcione. Esto se puede hacer ejecutando
sudo ufw allow 80/tcp sudo ufw allow 443/tcp
De esta manera, cuando abra un navegador web y vaya a http://your-server-ip
o http://your-domain
verá la siguiente pantalla
Esto indica que Nginx se está ejecutando correctamente.
Recuerde que Nginx también es un servicio del sistema que puede administrar a través de systemctl
comando para que pueda iniciarlo de la siguiente manera
sudo systemctl start nginx
Detente
sudo systemctl stop nginx
O reiniciarlo
sudo systemctl restart nginx
Con Nginx ejecutándose, podemos comenzar a jugar con PHP-FPM.
Paso 2:Instalar y configurar PHP-FPM
PHP-FPM es una implementación que hace el propio PHP. Así que instalarlo también instala el idioma. Entonces, para instalar PHP y PHP-FPM simplemente ejecute el siguiente comando
sudo apt install php php-fpm
Esto es suficiente, pero luego es necesario crear un nuevo archivo de configuración para nuestro sitio con PHP.
sudo nano /etc/nginx/sites-available/test.conf
Y agrega lo siguiente
server { listen 80; server_name your_domain; root /var/www/test; index index.html index.htm index.php; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; } location ~ /\.ht { deny all; } }
Primero, el nombre del archivo, puedes cambiarlo, he elegido test
para un ejemplo. Luego, debe cambiar el server_name
directiva a su nombre de dominio. La root
directiva se refiere a la ubicación del sitio en el disco duro que vamos a crear ahora.
Crear la carpeta del sitio
sudo mkdir -p /var/www/test/
Y dentro, un archivo PHP para la demostración.
sudo nano /var/www/test/test.php
Agrega algo de código PHP como phpinfo
método.
<?php phpinfo(); ?>
Luego, habilite la nueva configuración.
sudo ln -s /etc/nginx/sites-available/test.conf /etc/nginx/sites-enabled/
Y reinicia Nginx
sudo systemctl restart nginx
Entonces, abra un navegador web y vaya a http://your-domain/test.php
y verás lo siguiente
Entonces, ahora tenemos instalado Nginx con PHP-FPM en Debian 11.
Conclusión
En este post has aprendido a instalar Nginx con PHP-FPM en Debian 11 a través de una serie de pasos y configuraciones fáciles de aplicar y que te permitirán tener soporte PHP en Nginx.
Entonces, ayúdanos a crecer y déjanos un comentario. Además, si la publicación te ha ayudado, compártela con otros.
Sitio web de Nginx