Instalar Nginx en Ubuntu 16.04
Introducción
Instalar Nginx en Ubuntu 16.04. Nginx es uno de los servidores web más populares del mundo y es responsable de alojar algunos de los sitios más grandes y de mayor tráfico en Internet. En la mayoría de los casos, es más amigable con los recursos que Apache y puede usarse como un servidor web o un proxy inverso.
En este tutorial, discutiremos cómo instalar Nginx en su servidor Ubuntu 16.04.
Prerrequisitos
Antes de comenzar con este artículo, debe tener un usuario sudo
, no root, con privilegios sudo
configurados en su servidor. Puede aprender a configurar una cuenta de usuario normal siguiendo nuestra guía inicial de configuración del servidor para Ubuntu 16.04.
Cuando tenga una cuenta disponible, inicie sesión como usuario no root.
Paso 1. Instalar Nginx
Nginx está disponible en los repositorios predeterminados de Ubuntu, por lo que la instalación es bastante sencilla.
Dado que esta es nuestra primera interacción con el sistema de empaquetado apt
en esta sesión, actualizaremos nuestro índice de paquete local para que tengamos acceso a las listas de paquetes más recientes. Luego, podemos instalar nginx
:
sudo apt-get update
sudo apt-get install nginx
Después de aceptar el procedimiento, apt-get
instalará Nginx y todas las dependencias necesarias en su servidor.
Paso 2. Ajustar el Firewall
Antes de que podamos probar Nginx, necesitamos reconfigurar nuestro software de Firewall para permitir el acceso al servicio. Nginx se registra como un servicio con ufw
, nuestro Firewall, luego de la instalación. Esto hace que sea bastante fácil permitir el acceso a Nginx.
Podemos enumerar las configuraciones de aplicaciones que ufw
sabe cómo trabajar escribiendo:
sudo ufw app list
Deberías obtener una lista de los perfiles de las aplicaciones:
Output
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Como puede ver, hay tres perfiles disponibles para Nginx:
- Nginx Full. Este perfil abre tanto el puerto 80 (tráfico web normal no encriptado) como el puerto 443 (tráfico encriptado TLS / SSL)
- Nginx HTTP. Este perfil abre solo el puerto 80 (tráfico web normal no encriptado)
- Nginx HTTPS. Este perfil abre solo el puerto 443 (tráfico encriptado TLS / SSL)
Se recomienda que habilite el perfil más restrictivo que aún permita el tráfico que ha configurado. Dado que aún no hemos configurado SSL para nuestro servidor, en esta guía solo necesitaremos permitir el tráfico en el puerto 80.
Puede habilitar esto escribiendo:
sudo ufw allow 'Nginx HTTP'
Puede verificar el cambio escribiendo:
sudo ufw status
Debería ver el tráfico HTTP permitido en la salida mostrada:
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Paso 3. Comprueba tu Servidor Web
Al final del proceso de instalación, Ubuntu 16.04 inicia Nginx. El servidor web ya debería estar en funcionamiento.
Podemos verificar con el sistema de inicio systemd
para asegurarnos de que el servicio se está ejecutando tecleando:
systemctl status nginx
Output
● 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 2016-04-18 16:14:00 EDT; 4min 2s ago
Main PID: 12857 (nginx)
CGroup: /system.slice/nginx.service
├─12857 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
└─12858 nginx: worker process
Como puede ver arriba, el servicio parece haber comenzado con éxito. Sin embargo, la mejor manera de probar esto es solicitar una página de Nginx.
Puede acceder a la página de inicio de Nginx predeterminada para confirmar que el software se está ejecutando correctamente. Puede acceder a esto a través del nombre de dominio o la dirección IP de su servidor.
Si no desea configurar un nombre de dominio para su servidor, puede usar la dirección IP pública del servidor. Si no conoce la dirección IP de su servidor, puede obtenerla de diferentes maneras desde la línea de comando.
Intente escribir esto en el símbolo del sistema de su servidor:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Recibirás unas pocas líneas. Puede probar cada uno en su navegador web para ver si funcionan.
Una alternativa es escribir lo siguiente, que debería darle su dirección IP pública como se ve desde otra ubicación en Internet:
sudo apt-get install curl
curl -4 icanhazip.com
Cuando tenga la dirección IP o el dominio de su servidor, ingréselo en la barra de dirección de su navegador:
http://server_domain_or_IP
Debería ver la página de inicio predeterminada de Nginx, que debería verse más o menos así:
Esta página simplemente se incluye con Nginx para mostrarle que el servidor se está ejecutando correctamente.
Paso 4. Administrar el Proceso Nginx
Ahora que tiene su servidor web en funcionamiento, podemos revisar algunos comandos básicos de administración.
Para detener su servidor web, puede escribir:
sudo systemctl stop nginx
Para iniciar el servidor web cuando está detenido, escriba:
sudo systemctl start nginx
Para detener y luego volver a iniciar el servicio, escriba:
sudo systemctl restart nginx
Si simplemente hace cambios de configuración, Nginx a menudo puede volver a cargar sin soltar conexiones. Para hacer esto, este comando se puede usar:
sudo systemctl reload nginx
Por defecto, Nginx está configurado para iniciarse automáticamente cuando se inicia el servidor. Si esto no es lo que quiere, puede desactivar este comportamiento escribiendo:
sudo systemctl disable nginx
Para volver a habilitar el servicio para que se inicie en el arranque, puede escribir:
sudo systemctl enable nginx
Paso 5. Familiarícese con Archivos y Directorios Importantes de Nginx
Ahora que sabe cómo administrar el servicio en sí, debería tomarse unos minutos para familiarizarse con algunos directorios y archivos importantes.
Contenido
/var/www/html
: el contenido web real, que por defecto solo consiste en la página Nginx predeterminada que vio anteriormente, se sirve desde el directorio/var/www/html
. Esto se puede cambiar alterando los archivos de configuración de Nginx.
Configuración del servidor
/etc/nginx
: el directorio de configuración nginx. Todos los archivos de configuración de Nginx residen aquí./etc/nginx/nginx.conf
: el archivo de configuración principal de Nginx. Esto se puede modificar para realizar cambios en la configuración global de Nginx./etc/nginx/sites-available/
: el directorio donde se pueden almacenar los "bloques de servidor" por sitio. Nginx no usará los archivos de configuración que se encuentran en este directorio a menos que estén vinculados al directoriosites-enabled
(ver a continuación). Por lo general, toda la configuración del bloque de servidor se realiza en este directorio y luego se habilita mediante el enlace al otro directorio./etc/nginx/sites-enabled/
: el directorio donde están almacenados los "bloques de servidor" por sitio. Normalmente, estos se crean vinculando a los archivos de configuración que se encuentran en el directorio desites-available
./etc/nginx/snippets
: este directorio contiene fragmentos de configuración que se pueden incluir en cualquier otro lugar de la configuración de Nginx. Los segmentos de configuración potencialmente repetibles son buenos candidatos para la refactorización en fragmentos.
Registros del servidor
/var/log/nginx/access.log
: cada solicitud a su servidor web se registra en este archivo de registro a menos que Nginx esté configurado para hacer lo contrario./var/log/nginx/error.log
: Cualquier error de Nginx se registrará en este registro.
Conclusión
Ahora que tiene instalado su servidor web, tiene muchas opciones a relaizar y las tecnologías que desea usar para crear una experiencia muy agradable con Nginx.
Aprenda cómo usar los bloques de servidor Nginx aquí. Si desea construir una paquete de aplicaciones más completo, consulte este artículo sobre cómo configurar una paquete LEMP en Ubuntu 16.04 .