Vamos a ver como instalar Nginx en Ubuntu, Nginx es uno de los servidores web más populares del mundo y responsable de alojar algunos de los sitios con mayor trafico de internet. Nginx puede usarse como un servidor web o un proxy inverso.
Para empezar actualizamos la lista de repositorios e instalamos Nginx:
1 2 |
sudo apt-get update sudo apt-get install nginx |
Al final del proceso de instalación y si todo ha ido bien, Nginx ya debería estar activo, podemos comprobarlo con:
1 |
systemctl status nginx |
Si vemos la linea “Active: active (running)…” es que Nginx está funcionando, si introducimos la dirección de nuestro equipo/servidor debería aparece la página por defecto de Nginx con el mensaje “Welcome to nginx!“.
Ajuste el Firewall
Si Nginx está activo pero no podemos acceder a el, posiblemente el firewall ufw este activo. Para permitir el acceso a Nginx comprobamos las aplicaciones disponibles para el firewall ufw:
1 |
sudo ufw app list |
Deberíamos ver algo así:
1 2 3 4 |
Available applications: Nginx Full Nginx HTTP Nginx HTTPS |
Como se puede ver, hay tres perfiles disponibles para Nginx:
- Nginx Full: Este perfil abre tanto el puerto 80 (tráfico web normal, sin cifrar) como el puerto 443 (tráfico cifrado TLS / SSL)
- Nginx HTTP: Este perfil abre sólo el puerto 80 (normal, tráfico web no cifrado)
- Nginx HTTPS: Este perfil abre sólo el puerto 443 (tráfico cifrado TLS / SSL)
Podemos habilitar el perfil deseado escribiendo:
1 |
sudo ufw allow 'Nginx HTTP' |
Podemos verificar los cambios escribiendo:
1 |
sudo ufw status |
Administrar el Proceso de Nginx
Vamos a repasar algunos comandos básicos de la administración de Nginx.
Para detener el servidor web:
1 |
sudo systemctl stop nginx |
Para iniciar el servidor web cuando está detenido:
1 |
sudo systemctl start nginx |
Para detener e iniciar de nuevo el servicio:
1 |
sudo systemctl restart nginx |
Si solo estamos realizando cambios de configuración, Nginx puede cargar las nuevas configuraciones sin abandonar las conexiones con el comando:
1 |
sudo systemctl reload nginx |
De forma predeterminada, Nginx está configurado para iniciarse automáticamente cuando se inicia el servidor, para desactivar este comportamiento:
1 |
sudo systemctl disable nginx |
Para volver a habilitar el servicio de arranque automático:
1 |
sudo systemctl enable nginx |
Archivos y Directorios Importantes de Nginx
Todo el contenido web, donde por defecto está la pagina de bienvenida de Nginx está en “/var/www/html“, este directorio puede cambiarse desde la configuración de Nginx.
- /etc/nginx/nginx.conf: El fichero de configuración principal de Nginx, donde se pueden realizar cambios en la configuración global de Nginx.
- /etc/nginx/sites-available: El directorio donde se pueden almacenar la configuración de cada sitio. Nginx no utilizará los archivos de configuración que se encuentren en este directorio a menos que estén vinculados al directorio sites-enabled (ver abajo). Normalmente, toda la configuración del bloque del servidor se realiza en este directorio y se habilita mediante la vinculación al otro directorio.
- /etc/nginx/sites-enabled: Directorio donde se almacena la configuración de los sitios “habilitados” en el servidor. Por lo general, estos se crean mediante la vinculación a los archivos de configuración que se encuentran en el directorio sites-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.
- /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 hacerlo de otra manera.
- /var/log/nginx/error.log: Cualquier error Nginx se registrará en este registro.