bookmark_borderInstalar servidor NGINX en Ubuntu Server 22.04

Instala desde el repositorio de Ubuntu

  • Instala desde el repositorio de Ubuntu
sudo apt update
sudo apt install nginx
  • Actualiza el firewall
sudo ufw app list
sudo ufw allow 'Nginx FULL'
sudo ufw status
  • Verifica que se haya instalado el servidor correctamente
sudo systemctl status nginx
http://mi_servidor
  • Actualiza los server blocks
sudo mkdir -p /var/www/mi_nuevo_dominio/html
sudo chown -R $USER:$USER /var/www/mi_nuevo_dominio/html
sudo chmod -R 755 /var/www/mi_nuevo_dominio
sudo nano /var/www/mi_nuevo_dominio/html/index.html
sudo nano /etc/nginx/sites-available/mi_nuevo_dominio

Crea el index.html con la siguiente plantilla que despues deberás cambiar

<html>
    <head>
        <title>Bienvenido a mi_nuevo_dominio!</title>
    </head>
    <body>
        <h1>Perfect!  El server block de mi_nuevo_dominio esta trabajando!</h1>
    </body>
</html>

Crea el archivo de configuración para tu nuevo dominio con la siguiente plantilla, esta la uso para aplicación SPA (Angular, React) ya que todo el redireccionamiento se hace del lado de cliente.

server {
        listen 80;
        listen [::]:80;

        root /var/www/mi_nuevo_dominio/html;
        index index.html index.htm index.nginx-debian.html;

        server_name mi_nuevo_dominio www.mi_nuevo_dominio;

        location / {
            index index.html;
            try_files $uri $uri/ /index.html =404;
        }
}
  • Familiarizate con los archivos y directorios mas importantes de NGINX
    • Contenido. Los sitios se almacenan en /var/www/, cada sitio se almacena en un directorio diferente y el sitio por default se almacena en /var/www/html
    • Configuración.
      • /etc/nginx: Directorio de configuración del servidor Nginx. Todos los archivos de configuración de Nginx se encuentran aqui.
      • /etc/nginx/nginx.conf: The main Nginx configuration file. This can be modified to make changes to the Nginx global configuration.
      • /etc/nginx/sites-available/: The directory where per-site server blocks can be stored. Nginx will not use the configuration files found in this directory unless they are linked to the sites-enabled directory. Typically, all server block configuration is done in this directory, and then enabled by linking to the other directory.
      • /etc/nginx/sites-enabled/: The directory where enabled per-site server blocks are stored. Typically, these are created by linking to configuration files found in the sites-available directory.
      • /etc/nginx/snippets: This directory contains configuration fragments that can be included elsewhere in the Nginx configuration. Potentially repeatable configuration segments are good candidates for refactoring into snippets.
    • Logs
      • /var/log/nginx/access.log: Every request to your web server is recorded in this log file unless Nginx is configured to do otherwise.
      • /var/log/nginx/error.log: Any Nginx errors will be recorded in this log.

Fuente: https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-20-04