Diferencia entre revisiones de «Como instalar nginx en Ubuntu 16.04»

De Luis Moreno Wiki
Ir a la navegación Ir a la búsqueda
Línea 24: Línea 24:
 
  sudo ufw allow 'OpenSSH'
 
  sudo ufw allow 'OpenSSH'
  
- Habilitar el firewall ufw
+
-- Habilitar el firewall ufw
 
  sudo ufw enable
 
  sudo ufw enable
 
Verás un mensaje que dice:  
 
Verás un mensaje que dice:  

Revisión del 19:30 4 ene 2021

Install nginx in Ubuntu 16.04

-- Actualizar

sudo apt update
sudo apt upgrade

-- Instalar nginx

sudo apt install nginx

-- Ver que aplicaciones están disponibles para habilitar el firewall de Linux

sudo ufw app list

Verás tres tipos de perfiles disponibles para nginx:

Nginx Full: Este profile able ambos puertos, el 80 que no emplea tráfico cifrado y el 443 que emplea TLS para cifrar el tráfico entre el cliente y el servidor.
Nginx HTTP: Este perfil solo abre el Puerto 80 que no emplea tráfico cifrado
Nginx HTTPS: Este perfil solo abre el Puerto 443 que emplea tráfico cifrado

Vamos a dejar abiertos ambos puertos para esta instalación, aunque el puerto 443 no funcionará hasta que en una segunda etapa instalemos un certificado.

-- Habilitar el firewall para HTTP y HTTPS

sudo ufw allow 'Nginx Full'

Si el servidor es un servidor en la nube seguramente estás accediendo por medio de SSH por lo cual también deberás habilitar este acceso con el comando siguiente. Si por el contrario tienes el teclado y el monitor enfrente tal vez no sea necesario habilitarlo.

sudo ufw allow 'OpenSSH'

-- Habilitar el firewall ufw

sudo ufw enable

Verás un mensaje que dice:

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

Asegúrate de que si estás usando SSH el servicio OpenSSH lo hayas habilitado de lo contrario la próxima vez que quieras abrir una terminal no tendrás acceso, si ya estás seguro responde con una "y" y continúa, verás un mensaje que dice:

Firewall is active and enabled on system startup

-- Verificar el estado del firewall

sudo ufw status

Verás una salida como la siguiente:

Status: active

To Action From.
-- ------ ----
Nginx Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Nginx Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)

-- Verificar el estado del servicio nginx

systemctl status nginx

-- Probar que ya funciona, obtener la IP pública con el comando

curl ifconfig.co

-- Probar conectándose mediante el browser con la IP de la salida anterior

 http://10.20.30.40

-- Administrar el servicio
-- Detener el servicio

sudo systemctl stop nginx

-- Iniciar el servicio

sudo systemctl start nginx

-- Reiniciar el servicio

sudo systemctl restart nginx

-- A veces se requieren hacer cambios en la configuración de nginx y no se quieren tirar conexiones, esto es posible con el comando

sudo systemctl reload nginx

-- Por default nginx está configurado para iniciar automáticamente cuando inicia el servidor, en caso de que se requiera deshabilitar ese comportamiento, se puede usar el comando

sudo systemctl disable nginx

-- Si se requiere habilitar para que inicie automáticamente

sudo systemctl enable nginx

Información Importante

/var/www/html: Por default es este el directorio donde se guardan los archivos estáticos del sitio, se puede cambiar la ruta modificando el archivo de configuración.

Configuración del servidor

/etc/nginx: El directorio de configuración de Nginx, todos los archivos de configuración de nginx se encuentran aquí.

/etc/nginx/nginx.conf: El archivo de confiruación principal de nginx. Este archivo se puede modificar para hacer cambios en la configuración global de nginx.

/etc/nginx/sites-available/: nginx soporta hospedar más de un sitio web con un solo servicio y en este directorio se encuentran los archivos disponibles para que nginx los use, pero va a ignorar la configuración que se encuentre aquí, a menos que estén encadenados “linkeados” al directorio sites-enabled (ver abajo). Tipicamente aquí se configuran los sitios llamados “server-blocks” y se hacen un link hacia en el otro directorio explicado a continuación.

/etc/nginx/sites-enabled/: Es el directorio donde se activan los “server-blocks” que están almancenados en el directorio descrito anteriormente y desde sites-enabled se hace un link para que nginx sepa cuales son los que realmente queremos usar. Estos directorios pueden ser un poco confusos en un inicio pero en otra etapa veremos a que nos referimos

Server Logs

/var/log/nginx/access.log: Todas las peticiones al servidor Web se registran en este archivo de bitácora o log a menos que se cambie la configuración en el archivo nginx.conf descrito más arriba.

/var/log/nginx/error.log: Si nginx tiene algún problema para iniciar o en su ejecución, aquí se va a registrar.