NGINX es un servidor web muy potente, flexible y ligero que puede instalarse fácilmente en la plataforma Linux. Si su distribución de Linux preferida es Ubuntu, ese proceso es aún más fácil. Aquí le guiaremos a través del proceso de instalación de la versión estable de NGINX (1.14.0) en la última versión LTS (Long Term Support) de Ubuntu Server (18.04).
Índice de contenidos
¿Por qué instalar NGINX?
Usted podría estar preguntándose, «¿Por qué instalar NGINX cuando Apache ha sido el servidor web por defecto durante años? La respuesta es un poco más complicada de lo que se puede esperar. Para simplificar esa respuesta, considere que Apache es un servidor web que hace un trabajo asombroso al manejar un gran número de peticiones por segundo. Sin embargo, el rendimiento de Apache empieza a tener problemas cuando aumentan las peticiones. Esto significa que cuando el servidor Apache visita un pico, los tiempos de carga de la página pueden verse afectados. Por otro lado, NGINX está optimizado para proporcionar un rendimiento consistente y predecible. De modo que incluso cuando la página visita un pico, NGINX no flaquea. Por otro lado, Apache es también mucho más flexible que NGINX. Con una gran cantidad de módulos y soporte para otros servicios y servidores, Apache puede (por el momento) hacer más que NGINX. Así que si lo que busca es rendimiento, NGINX es su servidor. Si la flexibilidad está en lo más alto de su lista, Apache debe ser considerado primero.
Detener y desactivar Apache
Lo primero que hay que hacer es detener y desactivar Apache. Si Apache se está ejecutando en el servidor, NGINX no se puede instalar. Apache puede permanecer instalado en el mismo servidor que NGINX, pero a menos que Apache se detenga, NGINX se negará a instalarlo. Para saber si Apache se está ejecutando, ejecute el comando:
sudo systemctl status apache2
Si Apache aparece en la lista como ejecutándose, debe detenerlo y desactivarlo, para que se pueda instalar NGINX. Para detener el servidor web Apache, ejecute el comando:
sudo systemctl stop apache2
Deshabilite el servidor Apache (para que no se reinicie en caso de reinicio del servidor) con el comando:
sudo systemctl desactivar apache2
Instalando NGINX
Con el cuidado de Apache, la instalación de NGINX se puede realizar con un solo comando:
sudo apt-get install nginx
Una vez instalado, inicie y habilite NGINX con los siguientes comandos:
sudo systemctl start nginx
sudo systemctl enable nginxEl servidor web de NGINX ya está instalado y funcionando.
Ver la página de bienvenida de NGINX
Ahora que NGINX está instalado, puede dirigir su navegador web a la dirección IP del servidor de alojamiento para ver la página de bienvenida de NGINX. Si no está seguro de la dirección IP de su servidor, emita el comando:
ip aLa salida del comando anterior mostrará la dirección de su servidor.
Lo más probable es que se encuentre con un problema cuando intente ver la página predeterminada de NGINX index.html. El problema es que, si Apache fue instalado primero, NGINX mostrará la página index.html de Apache por defecto. Para ver la página de bienvenida de NGINX (index.nginx-debian.html), la página de bienvenida de Apache debe ser renombrada. De vuelta en la ventana de la terminal, emita el comando:
sudo mv /var/www/html/index.html /var/www/html/index.html.old
Vuelve a tu navegador web y recarga esa página. La página de bienvenida de Apache debe ser reemplazada por la página de bienvenida de NGINX.
Cómo configurar un sitio web
Con NGINX instalado y funcionando, es hora de configurar su primera página web. La configuración de los sitios NGINX se hace de forma muy parecida a la de Apache. Vamos a repasar los conceptos básicos de la creación de un sitio de barebones. Lo primero que necesita saber son los directorios necesarios que contienen los archivos utilizados para crear un sitio. Estos directorios son:
- /var/www/html - esta es la raíz del documento de NGINX, donde se alojarán todos los directorios y páginas de su sitio web.
- /etc/nginx/sites-available - este es el directorio que contiene todos los archivos de configuración para cada uno de sus sitios.
- /etc/nginx/sites-enabled - este es el directorio que indica a NGINX qué sitios están realmente habilitados para el servidor.
La diferencia entre sitios disponibles y sitios habilitados es doble:
- son archivos reales para cada sitio que ha creado para el servidor.
- los sitios habilitados son enlaces a los archivos de los sitios disponibles. A menos que haya un enlace en sitios habilitados, NGINX no sabrá de la existencia de un sitio en sitios disponibles.
Fuera de la caja, habrá un único archivo en /etc/nginx/sites-available. Ese archivo es default. Lo que vamos a hacer es crear un nuevo sitio (mínimo). Lo primero que hay que hacer es crear un directorio (dentro de la raíz del documento de NGINX) para alojar nuestro sitio web. Llamaremos a ese sitio test. Desde la ventana del terminal, emita el comando:
sudo mkdir /var/www/html/test
Cree un archivo index.html con el comando:
sudo nano /var/www/html/test/index.html
Dentro de ese documento, añada lo siguiente:
Guarde y cierre el archivo con el comando Ctrl-x. Dé al directorio los permisos necesarios con los comandos:
sudo chown www-data:www-data -R /var/www/html/test
sudo chmod -R 755 /var/www/html/test
Ahora cree un archivo de configuración para nuestro nuevo sitio en /etc/nginx/sites-available con el comando:
sudo nano /etc/nginx/sites-available/test
Dentro de ese archivo, agregue el siguiente contenido:
servidor {
escuchar 80;
escuchar [::]:80;
root /var/www/html/test;
index index.html index.htm index.nginx-debian.html;
nombre_servidor _;
ubicación / {
try_files $uri $uri/ =404;
}
}
Guarde y cierre ese archivo.
Pruebe la configuración de NGINX con el comando:
sudo nginx -t
La prueba se mostrará como exitosa. Para asegurarse de que NGINX puede mostrar el nuevo sitio de pruebas, reinicie el servidor web con el comando:
sudo systemctl reiniciar nginx
Ahora puede dirigir su navegador a http://SERVER_IP/test (donde SERVER_IP es la dirección IP de su servidor) para ver el archivo index.html recién creado.