Diferencia entre revisiones de «Instalar Nginx Ubuntu»

De enunpimpam
Saltar a: navegación, buscar
(Página creada con «Category:Ubuntu 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 inst…»)
 
 
(No se muestran 5 ediciones intermedias del mismo usuario)
Línea 17: Línea 17:
 
   OpenSSH
 
   OpenSSH
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 +
 
*'''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 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 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)
 
*'''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
 +
<syntaxhighlight lang="bash">
 +
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)
 +
</syntaxhighlight>
 +
===Verificación===
 +
Para comprobar que el servicio esta en ejecución.
 +
/etc/init.d/nginx status
 +
<syntaxhighlight lang="bash">
 +
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
 +
</syntaxhighlight>
 +
 +
==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:
 +
<code class="alert-success>/etc/nginx/sites-available</code> y de los activos en <code class="alert-success>/etc/nginx/sites-enabled</code>
 +
 +
Se puede hacer una copia del archivo <code class="alert-info>default</code> 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
 +
<syntaxhighlight lang="bash">
 +
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;
 +
        }
 +
}
 +
</syntaxhighlight>
 +
 +
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
 +
 +
<code class="alert-info>server_names_hash_bucket_size 64;</code>
 +
 +
reiniciamos el servidor Nginx
 +
 +
/etc/init.d/nginx restart

Revisión actual del 11:41 6 feb 2022

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