Introducción
Nginx es un servidor proxy inverso y HTTP de código abierto de alto rendimiento responsable de administrar la carga de algunos de los sitios más grandes de Internet. Se puede utilizar como servidor web independiente, equilibrador de carga, almacenamiento en caché de contenido y proxy inverso para servidores HTTP y no HTTP.
Comparado con Apache, Nginx puede manejar una gran cantidad de conexiones concurrentes y tiene una menor huella de memoria por conexión.
Este tutorial describe cómo instalar y administrar Nginx en Ubuntu 20.04 LTS.
Prerrequisitos
Antes de continuar, asegúrese de haber iniciado sesión como usuario con privilegios de sudo y de que no tiene Apache u otros procesos ejecutándose en el puerto 80
o 443
.
Si desea instalar Nginx en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conexión 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
Nginx está disponible en los repositorios predeterminados de Ubuntu. Para instalarlo, ejecute los siguientes comandos:
sudo apt update
sudo apt install nginx
Una vez que se complete la instalación, el servicio Nginx se iniciará automáticamente. Puede verificar esto ejecutando:
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 2020-05-04 23:59:35 CEST; 9s ago
Docs: man:nginx(8)
Main PID: 67793 (nginx)
Tasks: 2 (limit: 2286)
Memory: 4.1M
CGroup: /system.slice/nginx.service
├─67793 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─67794 nginx: worker process
May 04 23:59:35 TEST-SERVER-1 systemd[1]: Starting A high performance web server and a reverse proxy server...
May 04 23:59:35 TEST-SERVER-1 systemd[1]: Started A high performance web server and a reverse proxy server.
Eso es todo. Nginx se instaló en su computadora Ubuntu. Puede administrar el servicio Nginx como cualquier otra unidad del sistema.
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
Configurar firewall
Ahora que Nginx está instalado y ejecutándose en el servidor, debe asegurarse de que su firewall esté configurado para permitir el tráfico en los 80
) y HTTPS ( 443
). Suponiendo que está utilizando UFW
, puede hacer esto habilitando el perfil "Nginx Full" que incluye las reglas para ambos puertos:
sudo ufw allow 'Nginx Full'
Para comprobar el tipo de estado:
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
Para probar su nueva instalación de Nginx, abra su navegador y conéctese a su dirección IP o nombre de dominio http://YOUR_IP
y debería ver la página de inicio predeterminada de Nginx como se muestra en la imagen a continuación.
Estructura de archivos de configuración de Nginx y mejores prácticas
- Todos los archivos de configuración de Nginx se encuentran en el
/etc/nginx
. - El archivo de configuración principal de Nginx es
/etc/nginx/nginx.conf
. - Para facilitar el mantenimiento de la configuración de Nginx, se recomienda crear un archivo de configuración separado para cada dominio. Puede tener todos los archivos de bloqueo del servidor que necesite.
- Los archivos de bloqueo del servidor Nginx se almacenan en el
/etc/nginx/sites-available
. Nginx no utiliza los archivos de configuración que se encuentran en este directorio a menos que estén vinculados al/etc/nginx/sites-enabled
. - Para habilitar un bloqueo de servidor, se debe crear un enlace simbólico (un puntero) desde los sitios del archivo de configuración en un directorio de
sites-available
sites-enabled
. - Se recomienda que siga la convención de nomenclatura estándar. Por ejemplo, si su nombre de dominio es
mydomain.com
, su archivo de configuración debería llamarse/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 los bloques del 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
Le mostramos cómo instalar Nginx en Ubuntu 20.04 LTS Focal Fossa. Ahora puede comenzar a distribuir sus aplicaciones y usar Nginx como servidor web o proxy.