Instalar Nginx Ubuntu

De enunpimpam
Saltar a: navegación, buscar

Nginx es uno de los servidores web mas usados. Podemos usarlo como servidor web o como proxy inverso.

Instalación

sudo apt update
sudo apt install nginx

Configurar el Firewall

Necesitamos configurar el firewall de ubuntu para poder tener acceso al servicio web

Listar las aplicaciones ufw

sudo ufw app list

Devuelve algo asi:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH
  • Nginx Full: Este perfil abre tanto el puerto 80 (tráfico web normal, no cifrado) como el puerto 443 (tráfico TLS/SSL cifrado)
  • Nginx HTTP: Este perfil solamente abre el puerto 80 (tráfico web normal, no cifrado)
  • Nginx HTTPS: Este perfil solamente abre el puerto 443 (tráfico TLS/SSL cifrado)

yo suelo habilitar el 80 y 443

sudo ufw allow ´Nginx Full´

Si da error habilitar de uno en uno:

ufw allow 'Nginx HTTPS'
ufw allow 'Nginx HTTP

' Para verificar si se han realizado los cambios

sudo ufw status
To                         Action      From
--                         ------      ----
Nginx HTTP                 ALLOW       Anywhere
Nginx HTTPS                ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
Nginx HTTP (v6)            ALLOW       Anywhere (v6)
Nginx HTTPS (v6)           ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

Verificación

Para comprobar que el servicio esta en ejecución.

/etc/init.d/nginx status
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)data-slider since Wed 2021-09-29 13:50:11 UTC; 2h 25min ago

Bloques del servidor

Los bloques de servidor son parecido al virtualhost de Apache, nos permite alojar mas de un dominio en un solo servidor. La configuración de los dominios disponibles están en: /etc/nginx/sites-available y de los activos en /etc/nginx/sites-enabled

Se puede hacer una copia del archivo default y modificar los campos necesarios para nuestro dominio.

Yo prefiero poner los datos minimos y necesarios para el servidor en este caso es del dominio pruebas.enunpimpam.com, que apuntara a un simple archivo index.html dentro de la carpeta /var/www/prueba.enunpimpam.com

creamos el archivo dentro de site-available

nano prueba.enunpimpam.com
server {
        listen 80;
        listen [::]:80;

        root /var/www/prueba.enunpimpam.com;
        index index.html index.htm index.nginx-debian.html;

        server_name prueba.enunpimpam.co www.prueba.enunpimpam.co;

        location / {
                try_files $uri $uri/ =404;
        }
}

Ahora necesitamos habilitar la configuración creando un enlace de este archivo al directorio site-enabled.

sudo ln -s /etc/nginx/sites-available/prueba.enunpimpam.com /etc/nginx/sites-enabled/

Por ultimo seria conveniente hash bucket, para evitar problemas.

sudo nano /etc/nginx/nginx.conf

server_names_hash_bucket_size 64;

reiniciamos el servidor Nginx

/etc/init.d/nginx restart