Skip to content

Instantly share code, notes, and snippets.

@igorlima
Last active August 29, 2015 14:23
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 igorlima/233ab9402dd4e1906665 to your computer and use it in GitHub Desktop.
Save igorlima/233ab9402dd4e1906665 to your computer and use it in GitHub Desktop.

Neste blog vou mostrar como fazer deploy de aplicações Express.js em um cluster da Digital Ocean e como gerenciar os processos usando o Gerenciador de Processos da StrongLoop.

O que é o Gerenciador de Processo da StrongLoop? é um gerenciador corporativo runtime para processo Node.js em produção. O Gerenciador de Processo da StrongLoop foi construído para manipular tanto o escalonamento vertical e horizontal de suas aplicações Node com facilidade.

Configurando o seu droplet na Digital Ocean

  • Cadastre-se ou faça o login na sua conta da Digital Ocean caso já tenha uma

  • Crie um droplet e acesse via ssh sua instância

  • Instale a versão mais recente do Node.js usando o gerenciador de pacotes de sua preferência

  • Instale a versão mais recente das ferramentas CLI do Gerenciador de Processos StrongLoop com o comando abaixo:

npm install -g strong-pm

  • Tire um snapshot de seu droplet, assim você não vai ter que reinstalar essas ferramentas da próxima vez

Inicie o servidor remoto strong-pm

sudo sl-pm-install [options]

Este comando irá:

  • iniciar sua aplicação na inicialização

  • reiniciar a sua aplicação caso trave por inatividade

  • fazer o log das saídas da aplicação stdout e stderr

  • certificar que o daemon do strong-pm está sendo executado como o usuário sem privilégios do strong-pm

  • ajustar os limites do descritor de arquivo

  • ativar o core dumps do daemon, caso seu sistema esteja configurado para isso

Depois de instalar o Gerenciador de Processo como um serviço, inicie o servidor pm:

image 1

Agora, configure um ambiente de desenvolvimento local

Instale as ferramentas CLI da StrongLoop em sua máquina de desenvolvimento local.

npm install -g strongloop

No diretório de sua aplicação execute slc arc, abrindo-o por padrão em uma janela de um navegador web.

image 2

Build & Deploy

Logo na página inicial do StrongLoop Arc, clique na guia Build & Deploy.

Agora, você pode fazer o deploy de sua aplicação Express, construindo um arquivo tar ou usando o git caso sua aplicação esteja em um repositório git. Toda vez que a aplicação for compilada com êxito, faça o deploy para seu servidor pm digitando o nome do host, o número da porta e o número de processos.

image 3

Gerencie seus Processos

Quando você fizer o deploy com êxito, alterne para a guia “Process Manager”. Adicione o nome do host e a porta do seu servidor pm e clique em “Activate”. Os IDs de seus processos, agora, devem estar listado na coluna PID.

image 4

Aplicação com múltiplos clusteres

Se você deseja executar sua aplicação em vários servidores, você pode criar droplets copiando a imagem criada na Digital Ocean anteriormente. Inicie o servidor pm e faça o deploy de suas aplicações em cada um dos seus servidores pm. Depois de fazer o deploy de suas aplicações, adicione-as na GUI do Gerenciador de Processos. Agora você pode verificar o status de sua aplicação, redimensionar, iniciar, parar e reiniciar cada cluster utilizando a página do Gerenciador de Processos.

image 5

E o que mais?

Assista uma demonstração! Confira este curto vídeo que vai lhe dar uma visão geral do Gerenciador de Processo da StrongLoop.

Cadastre-se no webinar! “Melhores práticas para fazer deploy de aplicações Node.js em produção” em 16 de abril com a StrongLoop e o desenvolvedor do núcleo Node, Sam Roberts.

Nas próximas semanas, procure aprimorar ainda mais sobre o Gerenciador de Processo da StrongLoop e seus recursos runtime. Por enquanto, aqui está uma lista de alguns artigos técnicos adicionais para você aprofundar com mais detalhes sobre como aproveitar ao máximo este lançamento:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment