Skip to content

Instantly share code, notes, and snippets.

@maxarouca
Last active October 5, 2020 18:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maxarouca/f5dda3d6477016872082875d36ef16a4 to your computer and use it in GitHub Desktop.
Save maxarouca/f5dda3d6477016872082875d36ef16a4 to your computer and use it in GitHub Desktop.
Deploy node apis or static websites on digital ocean droplet

NOVA API IM DIGITAL OCEAN DROPLET

CRIAR UM NGINX CONF

  • Lembrar de alterar a porta que vai rodar o serviço e o endereço da api.
  • Criar o arquivo na pasta /etc/nginx/sites-enabled com o nome do dominio escolhido
server
{
    listen 80;
    listen [::]:80;
    server_name domain01.com;

    location /
    {
        proxy_pass http://127.0.0.1:3626;
        include /etc/nginx/proxy_params;
    }
}

  • Após a criação, testar a configuração do nginx com o comando sudo nginx -t.
  • Reiniciar o serviço do Nginx com o comando sudo systemctl restart nginx

CASO O DEPLOY SEJA DE SITE ESTÁTICO

  • Caso o deploy seja de um site estático, utilizar a seguinte configuração para o Nginx.
server
{
    listen 80;
    listen [::]:80;
    server_name domain01.com;
    root /var/www/PASTADOSITE;
    index index.html;

    location /
    {
        proxy_pass http://127.0.0.1:3626;
        include /etc/nginx/proxy_params;
    }
}

ADICIONAR O CERTIFICADO SSL NO DOMINIO

  • Para adicionar o certificado, rodar o comando sudo certbot --nginx -d hml.maxarouca.com, alterando o endereço do site ou api.
  • Seguir o passo a passo no console.

ADICIONAR OS ARQUIVOS DA API OU SITE NA PASTA PADRAO DO NGNIX

  • Salvar os arquivos da API ou site na pasta /var/www/NOMEDOPROJETO
  • O nome da pasta deve ser igual ao colocado no arquivo de configuração do NGINX caso o deploy for de um site estático.
  • Caso seja uma api, instalar as dependencias e rodar o projeto para ver se setá tudo funcionando.
  • Estando tudo certo, rodar o projeto com pm2 start NOMEDOPROJETO

COMANDOS ÚTEIS

NGINX

  • sudo systemctl restart nginx
  • sudo systemctl start nginx
  • sudo systemctl stop nginx
  • sudo nginx -t

PM2

  • pm2 restart app_name
  • pm2 reload app_name
  • pm2 stop app_name
  • pm2 delete app_name
  • pm2 list
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment