Ingresar  \/ 
x
 Use Facebook account  Use Google account  Use Microsoft account  Use LinkedIn account
o
Registrarse  \/ 
x
 Use Facebook account  Use Google account  Use Microsoft account  Use LinkedIn account
o

Instalar Nginx en Ubuntu 18.04

Instalar Nginx en Ubuntu 18.04


instalar nginx en ubuntu jpg

Introducción

Instalar Nginx en Ubuntu 18.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 servidor web o proxy inverso.

En este tutorial, discutiremos el cómo instalar Nginx en su servidor Ubuntu 18.04.

Requisitos previos

Antes de comenzar con este tutorial, debe tener un usuario común y no root con privilegios sudo configurados en su servidor. Puede aprender a configurar una cuenta de usuario normal siguiendo nuestro tutorial Configuración Inicial del Servidor para Ubuntu

Cuando tenga una cuenta disponible, inicie sesión como usuario no root.

Paso 1. Instalando Nginx


Debido a que Nginx está disponible en los repositorios predeterminados de Ubuntu, es posible instalarlo desde estos repositorios utilizando el sistema de empaquetado apt .

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 update
  • sudo apt install nginx
  • Después de aceptar el procedimiento, apt instalará Nginx y todas las dependencias necesarias en su servidor.

    Paso 2. Ajustes del Firewall


    Antes de probar Nginx, el software de firewall debe ajustarse para permitir el acceso al servicio. Nginx se registra a sí mismo como un servicio con ufw al momento de la instalación, por lo que es sencillo permitir el acceso a Nginx.

    Enumere las configuraciones de la aplicación 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. Debido a 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. Verificando tu servidor web


    Al final del proceso de instalación, Ubuntu 18.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 Fri 2018-04-20 16:08:19 UTC; 3 days ago Docs: man:nginx(8) Main PID: 2369 (nginx) Tasks: 2 (limit: 1153) CGroup: /system.slice/nginx.service ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2380 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 navegando a la dirección IP de su servidor. Si no conoce la dirección IP de su servidor, puede obtenerla de diferentes maneras.

    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 tipear esto, que debería darle su dirección IP pública como se ve desde otra ubicación en Internet:

    curl -4 icanhazip.com
    

    Cuando tengas la dirección IP de tu servidor, ingrésala en la barra de direcciones de tu navegador:

    http://your_server_ip 

    Debería ver la página de inicio de Nginx predeterminada:

    verifica tu servidor web nginx en ubuntu

    Esta página está incluida con Nginx para mostrarle que el servidor se está ejecutando correctamente.

     

    Paso 4. Administración del proceso Nginx


    Ahora que tiene su servidor web en funcionamiento, repasemos algunos comandos básicos de administración.

    Para detener su servidor web, escriba:

    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, escribe:

    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. Configuración de bloques de servidor (recomendado)


    Al utilizar el servidor web Nginx, los bloques de servidor (similares a los hosts virtuales en Apache) se pueden usar para encapsular detalles de configuración y alojar más de un dominio desde un único servidor. Configuraremos un dominio llamado example.com , pero debe reemplazarlo con su propio nombre de dominio .

    Nginx en Ubuntu 18.04 tiene un bloque de servidores habilitado por defecto que está configurado para entregar documentos fuera de un directorio en /var/www/html . Si bien esto funciona bien para un solo sitio, puede resultar difícil de manejar si aloja varios sitios. En lugar de modificar /var/www/html , creemos una estructura de directorio dentro de /var/www para nuestro sitio example.com , dejando /var/www/html en su lugar como el directorio predeterminado para ser servido si la solicitud de un cliente no lo hace emparejar otros sitios.

    Cree el directorio para example.com de la siguiente manera, usando el indicador -p para crear cualquier directorio padre necesario:

    sudo mkdir -p /var/www/example.com/html
    

    A continuación, asigne la propiedad del directorio con la variable de entorno $USER :

    sudo chown -R $USER:$USER /var/www/example.com/html
    

    Los permisos de tus root web deberían ser correctos si no has modificado tu valor de umask , pero puedes asegurarte escribiendo:

    sudo chmod -R 755 /var/www/example.com 

    Luego, crea una página de muestra index.html usando nano o tu editor favorito:

    nano /var/www/example.com/html/index.html
    

    En el interior, agregue el siguiente ejemplo de HTML:

    /var/www/example.com/html/index.html
    <html>
        <head>
            <title>Welcome to Example.com!</title>
        </head>
        <body>
            <h1>Success!  The example.com server block is working!</h1>
        </body>
    </html>
    

    Guarde y cierre el archivo cuando haya terminado.

    Para que Nginx sirva este contenido, es necesario crear un bloque de servidor con las directivas correctas. En lugar de modificar directamente el archivo de configuración predeterminado, hagamos uno nuevo en /etc/nginx/sites-available/ example.com :

    sudo nano /etc/nginx/sites-available/example.com 

    Pegue en el siguiente bloque de configuración, que es similar al predeterminado, pero actualizado para nuestro nuevo directorio y nombre de dominio:

    /etc/nginx/sites-available/example.com
    server {
            listen 80;
            listen [::]:80;
    
            root /var/www/example.com/html;
            index index.html index.htm index.nginx-debian.html;
    
            server_name example.com www.example.com;
    
            location / {
                    try_files $uri $uri/ =404;
            }
    }
    

    Tenga en cuenta que hemos actualizado la configuración root a nuestro nuevo directorio y el server_name a nuestro nombre de dominio.

    A continuación, habilitemos el archivo creando un enlace desde él al directorio sites-enabled , que Nginx lee durante el inicio:

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

    Dos bloques de servidores ahora están habilitados y configurados para responder a solicitudes basadas en sus directivas listen y server_name (puede leer más sobre cómo Nginx procesa estas directivas aquí ):

    • example.com. Responderá a las solicitudes de example.com y www.example.com .
    • default. Responderá a cualquier solicitud en el puerto 80 que no coincida con los otros dos bloques.

    Para evitar un posible problema de memoria de cubo de hash que puede surgir al agregar nombres de servidor adicionales, es necesario ajustar un único valor en el archivo /etc/nginx/nginx.conf . Abre el archivo:

    sudo nano /etc/nginx/nginx.conf
    

    Busque la directiva server_names_hash_bucket_size y elimine el símbolo # para descomentar la línea:

    /etc/nginx/nginx.conf
    ...
    http {
        ...
        server_names_hash_bucket_size 64;
        ...
    }
    ...
    

    A continuación, realice una prueba para asegurarse de que no haya errores de sintaxis en ninguno de sus archivos Nginx:

    sudo nginx -t
    

    Guarde y cierre el archivo cuando haya terminado.

    Si no hay ningún problema, reinicie Nginx para habilitar sus cambios:

    sudo systemctl restart nginx
    

    Nginx ahora debería estar publicando su nombre de dominio. Puede probar esto navegando a http:// example.com , donde debería ver algo como esto:

    configuración de bloques en el servidor ubuntu

    Paso 6. familiarizarse con archivos y directorios importantes de Nginx


    Ahora que sabe cómo administrar el servicio Nginx en sí mismo, 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 de 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 del servidor por sitio. Nginx no usará los archivos de configuración que se encuentran en este directorio a menos que estén vinculados al directorio sites-enabled . 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 se almacenan los bloques de servidor por sitio. Normalmente, estos se crean vinculando a los archivos de configuración que se encuentran en el directorio de 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.

    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 para el tipo de contenido a servir y las tecnologías que desea usar para crear una experiencia más rica.

    Si desea construir un paquete más completo, puedes consultar este artículo Cómo Configurar un Paquete LEMP en Ubuntu 16.04

    Fuente. Artículo traducido y con muy ligeras modificaciones de: https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-18-04

    Sobre el Autor
    Pipe Peña
    Author: Pipe Peña
    Soy un loco enamorado de la vida. Licenciado en Ciencias Sociales y Humanas, amante de la tecnología e informática y la astrofísica. Me gusta crear e investigar proyectos que enriquezcan la construcción y desarrollo del conocimiento individual y colectivo. Me encantan los videojuegos, el cine, la química, matemáticas, la física cuántica y la música, en donde actualmente soy compositor. Me baso en la idea que toma Baruch Spinoza sobre Dios.

    ImprimirCorreo electrónico