Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • Clean Code (2ª edição): o que mudou e o que continua valendo
    • Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha
    • Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis
    • A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia
    • Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais
    • Cache além do básico: por que LRU e TTL precisam andar juntos
    • Quando usar arquitetura modular — e quando não usar
    • Mais de 200 livros de programação gratuitos em português
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»Rodar um mini servidor web a partir de uma pasta

    Rodar um mini servidor web a partir de uma pasta

    Rodrigo FerreiraBy Rodrigo Ferreira20 de abril de 20193 Mins Read Asp.net
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Em diversos momentos surge a necessidade de testar um site ou página web que acabou de criar para ver se esta tudo funcionando redondo, se a chamada para API está ok ou apenas para apreciar momentaneamente as diversas horas de trabalho que foram aplicadas. Vamos ver as três formas que mais gosto:

    Usando Node.JS

    Considerando que instalou o Node.Js e o gerenciador de pacote npm, execute o comando abaixo para instalar o módulo http-server, responsável por subir nosso servidor web:

    npm install -g http-server

    O parâmetro -g instala o pacote globalmente no pc, pode trabalhar de forma local no projeto com package.json. Para prosseguir, direcione o terminal para a pasta do seu pojeto e execute o comando abaixo para subir seu servidor web:

    http-server

    Algo semelhante a isto irá aparecer:

    Servidor web pronto!

    Por padrão é usada a porta 8080, mas pode alterar usando o prâmetro -p, veja:

    http-server -p 8282

    Simples né? Basta acessar o endereço informado no terminal e usar.

    Usando Python (versão 3)

    Aqui começamos com o python (versão 3.7) e gerenciador de pacotes pip: Recomendo trabalhar com ambientes viruais no python, não vu entrar em detalhes pois não é o popósito deste post, veja como fazer aqui.

    Primeiro instale o pacote chamado simple-http-server:

    pip install simple-http-server

    Agora suba o servidor na pasta do projeto(site):

    python -m http.server 8080

    Altere a porta se desejar, o parâmetro -m procura o nome módulo no sys.path e executa o mesmo, veja detalhes.

    Usando DotnetCore (versão 2.1)

    E quanto ao nosso querido .Net? Vou mostrar o exemplo raíz e outra forma mais simples criada através de uma ferramenta um integrante do ASP.Net Core Team.

    Usando apenas o dotnet 2.1

    Por padrão o projeto MVC em .Net não vai servir arquivos estáticos, então vamos precisar do dotnet 2.1(no meu caso) e o package Microsoft.AspNetCore.StaticFiles, siga os passos:

    dotnet new mvc
    dotnet add package Microsoft.AspNetCore.StaticFiles -v 2.1.*

    • Linha 1: criamos o projeto base MVC, arquivos e pastas padrão são criados como: appSettings.json, Program.cs, Startups.cs, pastas Models, Controllers e Views.
    • Linha 2: precisamos desse pacote para servir os arquivos estáticos, atente para a versão 2.1 neste caso, ao executar o comando sem informar a versão ele instalou a 2.2 o que acabou gerando erro porque meu dotnet é 2.1.

    Certifique-se que a linha abaixo existe no seu Startup.cs, dentro do método Configure:

    app.UseStaticFiles();

    Agora altere seu Program.cs para ficar assim:

    public static void Main(string[] args)
    {
    var host = new WebHostBuilder()
    .UseKestrel()
    .UseContentRoot(Directory.GetCurrentDirectory())
    .UseStartup()
    .Build();
    host.Run();
    }

    Explicando: a linha do UseContentRoot faz a mágica.

    Para finalizar coloque seu site estático dentro da pasta wwwroot, sim uma pasta wwwroot tem que ter sido gerada ao instalar nosso pacote StaticsFiles. No meu caso ficou assim:

    Agora execute o comando abaixo na raíz (fora do wwwroot) :

    dotnet run

    e acesse o endereço http://127.0.0.1:5000/index.html

    Usando a tool dotnet-serve (veja aqui)

    Agora a forma ultra-rápida, vou usar a pasta wwwroot do tópico anterior como exemplo, basta executar 2 comando:

    dotnet tool install –global dotnet-serve
    dotnet serve -o -S

    O primeiro instala a ferramenta que facilita todo o processo e a segunda instância o server. Mais fácil que isso fica complicado né?! ^^

    Subir um servidor web no dias atuais para uso pessoal e temporário é uma tarefa bem simples e pode ser feita de diversas formas, não perca muito tempo, deixe o tempo que sobrar para publicar sua aplicação em um servidor de produção profissional que por si só exige atenção e uma boa dose de trabalho em alguns casos.

    Até a próxima

    dotnet http-server nodejs python
    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Rodrigo Ferreira
    • Website
    • X (Twitter)
    • LinkedIn

    Programador, apaixonado por games, empreendedor. Formado em Ciência da Computação com especialização em desenvolvimento para web, trabalhei com projetos .Net C#, NodeJs e Python nestes 10 anos de experiência no setor privado, em orgão públicos e na minha startup, o EstoqueMestre. http://rodrigoreisf.com.br

    Posts Relacionados

    Clean Code (2ª edição): o que mudou e o que continua valendo

    Dicas Gestão & Produtividade 12 de fevereiro de 20266 Mins Read

    Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais

    Dicas 8 de outubro de 20257 Mins Read

    Mais de 200 livros de programação gratuitos em português

    Cursos Dicas 16 de setembro de 202512 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
    • Clean Code (2ª edição): o que mudou e o que continua valendo
    • Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha
    • Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis
    • A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia
    • Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais
    Categorias
    • Arquitetura (30)
      • Microsserviços (3)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (93)
      • NoSql (60)
      • Sql (38)
    • Boas práticas (34)
      • Gestão & Produtividade (4)
      • Metodologias Ágeis (6)
    • Cursos (53)
    • Dicas (108)
    • Front-End (92)
    • IA (6)
    • 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

    Código Simples no Facebook
    Código Simples no Facebook
    • Popular
    • Recente

    1000 livros gratuitos sobre programação!

    12 de fevereiro de 2016

    Google lança versão “invisível” do reCAPTCHA!

    10 de março de 2017

    Mini curso de HTML5 oferecido pela Microsoft

    30 de janeiro de 2014

    O que significa ( !important ) na declaração do CSS ?

    5 de fevereiro de 2014

    Programa para supercompactar arquivos. KGB Archiver.

    6 de fevereiro de 2014

    Clean Code (2ª edição): o que mudou e o que continua valendo

    12 de fevereiro de 2026

    Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha

    4 de fevereiro de 2026

    Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis

    30 de outubro de 2025

    A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia

    30 de outubro de 2025

    Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais

    8 de outubro de 2025
    Nosso Feed
    • RSS - Posts
    Fique por dentro

    Digite seu endereço de email para assinar este blog e receber notificações de novas publicações por email.

    Facebook X (Twitter) Instagram LinkedIn

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

    Vá para versão mobile