Skip to content

lehafari/ozono-api

Repository files navigation

Deploy de Nestjs en Digital Ocean

  • Crear el droplet con SSH
  • Instalar NVM
  • Instalar la version necesaria de Node
  • Clonar el repositorio en una carpeta y ejecutar el npm install para instalar todas las dependencias del proyecto
  • Crear la base de datos y colocar los datos para la conexion en las variables de entorno
  • Instalar PM2 de manera global:
    npm install pm2 -g
    Con pm2 en la carpeta del proyecto corremos la aplicacion desde el fichero main.js de la carpeta dist (donde se escuentra el bundle de la aplicacion para produccion) y le ponemos un nombre al proceso para identificarlo con la flag —name
    pm2 start dist/main.js --name ozono
    Untitled Ejecutamos un comando adicional de pm2 para iniciar la aplicacion automaticamente cada vez que el servidor inicie (por si ocurre un error o se reinicia por alguna actualizacion)
pm2 startup

esto agrega archivos de configuracion para iniciar la aplicacion cada vez que el servidor se inicie y finalmenta guardamos con:

pm2 save
  • Activa el firewall que viene por defecto en la maquina:

    sudo ufw enable

    y agregamos las reglas de conexion:

    sudo ufw allow ssh http https
  • Instalar nginx para configurar el servidor proxy

    sudo apt install nginx

    verificamos si el servidor nginx esta corriendo

    systemctl status nginx

    Untitled Creamos un archivo de configuracion de nginx para decirle a donde debe apuntar el servidor proxy:

    nano /etc/nginx/sites-available/ozono.api

    configuramos el servidor de nginx

    server {
            listen 80;
    
            server_name 137.184.225.42;
    
            location / {
             proxy_pass http://localhost:3333;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection 'upgrade';
             proxy_set_header Host $host;
             proxy_cache_bypass $http_upgrade;
            }
    }

    Enlazamos ese fichero a los sites enable de nginx

    ln -s /etc/nginx/sites-available/ozono.api /etc/nginx/sites-enabled/ozono.api

    reiniciamos el nginx

    sudo service nginx restart

    Y ya la aplicacion debe estar corriendo en la direccion del server name

    Con un DNS se haria lo mismo solo que en lugar de colocar en server_name la direccion se colocaria el dominio y asi podriamos acceder directamente a la aplicacion.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published