Introducción
Nginx es un servidor proxy inverso y HTTP de código abierto de alto rendimiento que sirve a algunos de los sitios más grandes de Internet. Comparado con Apache, Nginx es capaz de manejar una gran cantidad de conexiones simultáneas y tiene una menor huella de memoria por conexión.
Nginx se puede utilizar como servidor web independiente y como proxy inverso para servidores HTTP y no HTTP.
En este tutorial, explicaremos cómo instalar y administrar Nginx en Ubuntu 18.04 LTS.
Si su intención es instalar Nginx en un servidor remoto, continúe leyendo; de lo contrario, si desea instalar Nginx en su computadora local, omita el primer párrafo "Conectarse al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Instalar Nginx
El paquete Nginx se incluye en los repositorios predeterminados de Ubuntu 18.04. La instalación es bastante sencilla, simplemente ejecute los siguientes comandos como root o usuario con privilegios de sudo:
sudo apt update
sudo apt install nginx
El servicio Nginx se iniciará automáticamente al final del proceso de instalación. Para verificar el estado, escriba:
sudo systemctl status nginx
La salida se verá así:
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 Mon 2019-11-18 22:54:20 CET; 9s ago
Configurar el cortafuegos
Suponiendo que está utilizando UFW
para administrar su firewall, debe abrir los 80
) y HTTPS ( 443
). Puede hacer esto habilitando el perfil 'Nginx Full' que incluye reglas para ambos puertos:
sudo ufw allow 'Nginx Full'
Para verificar el tipo de estado de Nginx:
sudo ufw status
La salida se verá así:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Prueba la instalación
Puede probar su nueva instalación de Nginx conectándose a su dirección http://YOUR_IP
en el navegador y se le presentará la página de inicio predeterminada de Nginx, como se muestra en la siguiente imagen:
Gestión de servicios Nginx
Puede administrar el servicio Nginx de la misma manera que cualquier otro servicio systemd.
Para detener el servicio Nginx, ejecute:
sudo systemctl stop nginx
Para comenzar de nuevo, escriba:
sudo systemctl start nginx
Para reiniciar el servicio Nginx:
sudo systemctl restart nginx
Vuelva a cargar el servicio Nginx después de realizar algunos cambios de configuración:
sudo systemctl reload nginx
De forma predeterminada, el servicio Nginx se iniciará automáticamente al iniciarse. Si desea deshabilitar el servicio Nginx para que se inicie al inicio:
sudo systemctl disable nginx
Para reactivarlo de nuevo:
sudo systemctl enable nginx
Estructura y mejores prácticas de Nginx
- Los archivos de configuración de Nginx se almacenan en el
/etc/nginx
. - El archivo de configuración principal de Nginx es
/etc/nginx/nginx.conf
. - Los archivos de configuración del bloque del servidor (vhost) se almacenan en el
/etc/nginx/sites-available
. Los archivos de configuración que se encuentran en este directorio son usados por Nginx solo cuando están vinculados al/etc/nginx/sites-enabled
. - Para habilitar los bloqueos de un servidor, cree un enlace simbólico (un puntero) desde el archivo de configuración en un directorio de
sites-available
sites-enabled
. - Se recomienda encarecidamente seguir la convención de nomenclatura estándar, por ejemplo, si su nombre de dominio es
mydomain.com
utilice como nombre del archivo de configuración de dominio/etc/nginx/sites-available/mydomain.com.conf
. - El
/etc/nginx/snippets
contiene fragmentos de configuración que se pueden incluir en los archivos de bloqueo del servidor. Si está utilizando segmentos de configuración repetibles, puede convertir esos segmentos en fragmentos e incluir el archivo de fragmentos en bloques de servidor. - Los archivos de registro de Nginx (
access.log
yerror.log
) se encuentran en el/var/log/nginx/
. Se recomienda que tenga diferenteserror
yaccess
para cada bloque de servidor. - Puede establecer la raíz del documento de dominio en cualquier ubicación que desee. Las ubicaciones más comunes para webroots incluyen:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
Conclusión
La instalación de Nginx en Ubuntu 18.04 LTS es cuestión de ejecutar un solo comando.