Linux domina el campo de los servidores que componen Internet. Apache, Nginx, Lighttpd, OpenLiteSpeed son algunos de los servidores web disponibles para Linux. En este artículo, hablaremos sobre Nginx y veremos cómo instalarlo junto con PHP en Debian 10.
¿Qué es Nginx?
Nginx es un servidor web de código abierto para sistemas Windows, Linux, Unix y similares a Unix. Es el principal competidor de Apache. La principal ventaja de Nginx es el alto rendimiento en tráfico elevado. También puede usarlo como proxy inverso, caché HTTP, equilibrador de carga y servidor proxy para correo electrónico (IMAP, POP3 y SMTP).
El diseño eficiente de Nginx hace que supere a otros servidores web en las pruebas de rendimiento. Se adapta perfectamente y sobresale en situaciones donde hay un alto nivel de tráfico o solicitudes. Esa es la razón por la que muchas empresas gigantes lo utilizan para sus sitios web o aplicaciones web internas.
Instalar Nginx en Debian
Por lo general, solo hay un servidor web en un sistema. Esto no es obligatorio pero es común. En esta guía, asumiremos que el servidor está listo y no ha sufrido muchos cambios. Esto significa que no hay un servidor web ejecutándose en él.
Dado que Nginx es tan popular, no sorprende que esté incluido en los repositorios oficiales de Debian 10. Inicie sesión en su sistema Debian y ejecute el siguiente comando en secuencia para instalar Nginx.
1. Comprobar si Nginx está disponible en el repositorio de Debian
Como se mencionó anteriormente, Nginx debería estar disponible en el repositorio de Debian. Ejecute el siguiente comando para comprobarlo.
:~$ sudo apt list nginx
Obtendrá una salida de pantalla similar a esta:
Es decir, instalaremos la versión 1.14.2. La versión puede ser un poco más antigua. Pero no debes preocuparte ya que es bastante estable y robusto.
2. Instalar Nginx
Vamos a usar el comando apt para instalar. Este comando se encarga de todas las dependencias durante la instalación.
:~$ sudo apt install nginx
Introduzca su contraseña para comenzar la instalación. Al final, el servicio estará activo y habilitado para iniciar con el sistema.
Use el siguiente comando para iniciar y detener el servicio Nginx usando el comando systemctl
:~$ sudo systemctl stop nginx
:~$ sudo systemctl start nginx
3. Configurar el cortafuegos
Debe configurar el firewall para que su servidor pueda aceptar la conexión. Abra el puerto 80 y 443 con el comando que se indica a continuación
:~$ sudo ufw allow 'Nginx HTTP'
Puede verificar el estado usando el comando que se indica a continuación
:~$ sudo ufw status
4. Prueba tu servidor
Abra el navegador web y escriba http://DIRECCIÓN IP o http://nombre-de-dominio para averiguar si todo salió bien
Debería ver una imagen como esta que indica que Nginx funciona correctamente.
Instalar PHP en Debian
PHP es un lenguaje de secuencias de comandos de código abierto ampliamente utilizado. También está disponible en el repositorio predeterminado de Debian 10. Por lo tanto, no tiene que agregar ningún PPA de terceros.
Para instalar PHP y algunos de sus módulos principales simplemente ejecute el siguiente comando:
:~$ sudo apt install php7.3-fpm php7.3-common php7.3-mysql php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3-gd php7.3-xml php7.3-cli php7.3-zip php7.3-soap php7.3-imap
Ahora, tanto Nginx como PHP están correctamente instalados, debe configurar Nginx para poder interpretar archivos PHP. Veamos cómo hacerlo.
Añadiendo soporte PHP a Nginx
Vaya a /var/www/html/ directorio donde se procesan los archivos y el sitio web en Debian y cambia el propietario y los permisos para este directorio.
:~$ sudo chmod 755 -R /var/www/html/ :~$ sudo chown www-data:www-data -R /var/www/html/
Esto le ahorrará problemas con la ejecución de sitios web y aplicaciones.
A continuación, debe realizar algunos cambios en el archivo de configuración predeterminado de Nginx. Este archivo configura las páginas y los sitios web que se encuentran en el directorio raíz predeterminado. Entonces, si agrega un host virtual, debe crear un nuevo archivo de configuración.
Entonces, edítalo.
:~$ sudo nano /etc/nginx/sites-available/default
Encuentra la location
sección, el archivo no es muy grande por lo que lo encontrará rápidamente. Entonces, que sea así:
location ~ \.php$ { include snippets/fastcgi-php.conf; # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; }
Guarde los cambios y cierre el editor.
Prueba PHP con Nginx
Ahora, para probar que PHP es interpretado por Nginx, creemos un nuevo archivo que contenga algo de código PHP.
Entonces, en el directorio raíz de Nginx, cree uno nuevo con phpinfo
método.
:~$ sudo nano /var/www/html/test.php
<?php phpinfo(); ?>
Asimismo, guarde los cambios y cierre el archivo.
Para que todos los cambios en Nginx surtan efecto, se debe reiniciar el servicio.
:~$ sudo systemctl restart nginx
Y puede verificar el estado del servicio con el siguiente comando:
:~$ sudo systemctl status nginx
Ahora, abra su navegador web nuevamente y abra el archivo:
http://IP-ADDRESS/test.php or http://domain-name/test.php
Entonces, Nginx y PHP se instalaron correctamente en Debian 10. Todo salió bien.
Conclusión
Con Nginx podemos concluir que es un servidor web muy eficiente y sobre todo dispuesto a dar el máximo rendimiento posible en mucho tráfico. Además, para que funcione con PHP requiere un poco más de configuración que Apache, pero tampoco es complicado y merece la pena.
Por otro lado, Nginx es un programa bastante popular con mucha documentación para leer y estudiar.
Ahora te toca a ti, ¿te gusta Nginx? o prefieres Apache?