Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Cursos»Minha aplicação NodeJS está pronta! E agora?

    Minha aplicação NodeJS está pronta! E agora?

    Leandro DominguesBy Leandro Domingues21 de março de 20175 Mins Read Cursos
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Fala galera, meu primeiro post aqui no codigosimples.net e gostaria de falar com vocês sobre o deploy de aplicações NodeJS. Mais especificamente sites que utilizam esse poderoso framework.

    Tudo muito bom, tudo muito bem, mas chegamos num ponto onde precisamos colocar nossa aplicação pra rodar fora de nosso ambiente de desenvolvimento, e hoje vou compartilhar com vocês o que eu tenho feito nesses últimos anos em que me dediquei a tecnologias open source.

    Minha intenção não é mostrar o desenvolvimento ou arquitetura de uma aplicação desenvolvida em NodeJS, mas sim demonstrar como disponibilizar uma aplicação dentro de um servidor web. Para isso explicarei algumas tecnologias envolvidas e farei um passo-a-passo para o deploy.

    Para isso utilizaremos o seguinte:

    • Linux Ubuntu 16
    • NGINX como servidor web
    • NodeJS
    • Forever

    NGINX

    Como descrito em seu site (http://www.nginx.com), o NGINX é um servidor web e proxy reverso, free, open-source e de alta performance. Pode ser usado como servidor de e-mail e é facilmente escalável e configurável. Nos últimos anos ele tem se tornado uma ótima alternativa ao tradicional servidor Apache, que na minha opinião requer muito conhecimento para uma configuração confiável. Veremos o quanto é simples configurar o NGINX para passar a responder requisições, trabalhando muito bem em conjunto com o NodeJS.

    Primeiramente teremos que instalá-lo em nosso servidor Linux:

    apt-get update
    apt-get install nginx
    

     

    Após a instalação iniciaremos a configuração do nosso site:

    nano /etc/nginx/nginx.conf
    

     

    Não entrarei em todos os detalhes da configuração do NGINX, vou diretamente ao ponto da criação da configuração de nossa aplicação. Localize a seguinte linha no arquivo de configuração:

    include /etc/nginx/sites-enabled/*;
    

     

    Insira o seguinte bloco de código imediatamente abaixo da linha acima. Vou detalhar cada linha desse bloco:

    server {
        listen 80;
        server_name seudominio.com.br;
    
        location / {
            proxy_pass http://127.0.0.1:8000;
        }
    
        location /static {
            root /caminho_para_a_pasta_da_aplicacao/public;
        }
    }
    

     

    Na linha 1 abrimos o bloco de configuração chamado server.

    Na linha 2 informamos a porta a ser utilizada para nossa aplicação.

    Na linha 3 definimos o nome do host que será utilizado para identificar nossa aplicação quando solicitada no NGINX.

    Na linha 5 configuramos o nosso proxy reverso apontando para o localhost do servidor e a porta onde nossa aplicação NodeJS responderá.

    Na linha 9 configuramos o caminho para a pasta de conteúdo estático da aplicação. Essa pasta geralmente coloco os arquivos CSS, JavaScript, Imagens, etc.

    Após isso podemos testar a configuração do NGINX para verificar erros que impossibilitarão a execução do mesmo. Para isso digite o seguinte comando:

    nginx -t
    

    Se estiver tudo certo com o arquivo de confguração, será retornado o seguinte:

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

     

    Agora podemos reiniciar o nosso servidor NGINX para que as alterações feitas no arquivo tenham efeito:

    service nginx restart
    

     

    Instalando o NodeJS

    Com nosso NGINX configurado e funcionando, vamos instalar o NodeJS

    curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
    sudo apt-get update
    sudo apt-get install -y nodejs
    

     

    Para verificarmos a versão do NodeJS instalada executamos o seguinte comando:

    node -v
    

    Pronto, NodeJS instalado com sucesso!

     

    Instalando o NPM

    O NPM é um gerenciador de pacotes JavaScript, para mais informações visite https://www.npmjs.com/ . Ele será necessário para obter o pacote Forever que instalaremos mais a frente.

    Para instalar o NPM executamos o seguinte comando:

    apt-get install -y npm
    

     

    Verificando a versão instalada:

    npm -v
    

     

    Feito, NPM instalado!

    Instalando o Forever

    O Forever (https://www.npmjs.com/package/forever) é uma ferramenta bem simples que permite executar scripts continuamente.

    Para instalar:

    npm install forever -g
    

     

    O parâmetro -g garante que o Forever ficará disponível globalmente em nosso servidor.

    Existem vários parâmetros disponíveis no Forever, vamos focar em apenas quatro deles: start, restart, stop e list.

    Com o start iniciamos a execução de um script, que em nosso caso será nossa aplicação. Vejamos como é simples:

    forever start /caminho_da_sua_aplicacao/arquivo_inicial.js
    

     

    Onde arquivo_inicial.js é o arquivo que contém a sua aplicação.

    Como retorno desse comando o Forever nos indicará o arquivo de log. Nesse arquivo serão gravados todos logs que sua aplicação emitir durante o ciclo de vida. Isso ajudará muito no caso de exceções ou paradas inesperadas.

    Por default o Forever reinicia a aplicação automaticamente no caso de alguma exceção não tratada acontecer. Isso ajuda a manter sua aplicação no ar se algo que você não esperava acontecer. Por isso é sempre importante a revisão do arquivo de log do Forever.

    Para listar todas as aplicações que estão rodando através do Forever executamos o seguinte comando:

    forever list
    

     

    Veja que temos um retorno de todas as aplicações iniciadas e um id como de um array. Para executar operações de stop e restart utilizaremos esse id.

    Reiniciando uma aplicação:

    forever restart 0
    

     

    Parando uma aplicação:

    forever stop 0
    

     

    Conclusão

    Com a aplicação rodando no Forever podemos acessar o domínio configurado no NGINX e ver a aplicação rodando no browser.

    Lembrando que o Forever não aceita somente aplicações web, você pode ter um script que faça qualquer tipo de trabalho rodando continuamente, por exemplo, um robô que trabalhe automatizando alguma tarefa.

    É isso, espero que tenham gostado e que seja útil! Até a próxima pessoal!

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Leandro Domingues
    • Website
    • X (Twitter)
    • LinkedIn

    Formado em Engenharia da Computação, entusiasta de tecnologias open-source, bigdata e NoSQL. MongoDB Ambassador / Evangelist, Top 50 Certificado em Neo4j, utiliza MongoDB e SQL Server criando aplicações em NodeJS há 3 anos. CTO / Co-owner da Cluster Consultoria, uma empresa especializada em bancos de dados NoSQL

    Posts Relacionados

    Como a Uber calcula o tempo estimado de chegada

    Tecnologia 20 de março de 20258 Mins Read

    Entendendo mais sobre protocolos de rede

    Tecnologia 9 de junho de 20247 Mins Read

    Porque é tão difícil emplacar uma cultura de dados?

    Boas práticas Tecnologia 31 de março de 20246 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile