Tempo de leitura: 4 minutos
O IIS no Windows Server é o servidor web da Microsoft e o caminho natural para hospedar sistemas em ASP.NET, APIs em .NET e sites que dependem de tecnologias Windows. Ele já vem com o sistema, só precisa ser ativado. Neste guia você instala o IIS, cria o primeiro site, publica uma aplicação .NET e configura o HTTPS. Para rodar isso em produção, o Cloud VPS Brasil com Windows da Rubfy oferece Intel Xeon Gold e disco NVMe.
Instalando o IIS no Windows Server
Abra o PowerShell como administrador e rode:
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
Quando terminar, abra o navegador no próprio servidor e acesse http://localhost. A página azul de boas-vindas do IIS confirma que o servidor web está funcionando. Para acessar de fora, libere as portas 80 e 443 no firewall, como mostra o guia de liberação de portas no Windows.
Criando o primeiro site
- crie a pasta do site, por exemplo
C:\inetpub\meusite, e coloque os arquivos dentro; - abra o Gerenciador do IIS (Internet Information Services);
- clique com o botão direito em Sites e escolha Adicionar Site;
- informe o nome, o caminho da pasta e, em Nome do host, o domínio, por exemplo
www.seudominio.com.br; - confirme. O IIS cria o site e um pool de aplicativos com o mesmo nome.
Para o domínio abrir o site, o registro A dele precisa apontar para o IP da VPS.
Pools de aplicativos: isolando cada site
Cada site no IIS roda dentro de um pool de aplicativos, que é um processo separado. Se um site trava, os outros continuam no ar. Mantenha um pool por site e ajuste nele a versão do .NET e o comportamento de reciclagem. Para aplicações ASP.NET Core, configure o pool com Sem Código Gerenciado, porque quem executa a aplicação é o próprio runtime do .NET, e não o do IIS.
Publicando uma aplicação ASP.NET Core no IIS
- instale no servidor o ASP.NET Core Hosting Bundle da versão usada pela aplicação. Ele traz o runtime e o módulo que liga o IIS ao .NET;
- reinicie o IIS com o comando
iisreset; - gere a publicação no Visual Studio ou com
dotnet publishe copie o conteúdo para a pasta do site; - crie o site no IIS apontando para essa pasta e com o pool em Sem Código Gerenciado.
A Microsoft tem um passo a passo completo sobre hospedar ASP.NET Core no Windows com IIS.
HTTPS grátis no IIS
O IIS não emite certificado sozinho, mas ferramentas gratuitas automatizam o Let’s Encrypt. O win-acme é um dos mais usados: você executa, escolhe o site do IIS na lista, e ele emite o certificado, cria o binding HTTPS e agenda a renovação automática. Se quer entender melhor o papel do certificado, leia SSL é suficiente para ter um site seguro?.
Problemas comuns no IIS no Windows Server
- erro 500.19: normalmente o Hosting Bundle não foi instalado ou o IIS não foi reiniciado depois dele;
- erro 403 ou acesso negado: a pasta do site precisa de permissão de leitura para o grupo
IIS_IUSRS; - site abre só no servidor: faltou liberar as portas 80 e 443 no firewall ou o domínio ainda não apontou para o IP.
Perguntas frequentes
Posso hospedar vários sites no mesmo IIS?
Pode. Cada site recebe o seu próprio nome de host no binding, e todos respondem pelas mesmas portas 80 e 443. O IIS entrega o site certo conforme o domínio digitado pelo visitante. Mantenha um pool de aplicativos por site para que um não derrube o outro.
Dá para rodar PHP no IIS?
Dá, instalando o PHP e configurando o FastCGI, mas não é o cenário ideal. Sites em PHP, como WordPress, rodam melhor em servidores Linux com LiteSpeed ou Nginx. Use o IIS quando a aplicação realmente depende do ecossistema Microsoft.
Quanto de VPS o IIS precisa?
O IIS em si é leve. Quem define o tamanho da VPS são as aplicações: um site simples roda bem com 2 GB de RAM, enquanto sistemas com banco de dados SQL Server no mesmo servidor pedem 4 GB ou mais. O guia de quanta RAM a VPS precisa ajuda a dimensionar.
Hospede suas aplicações .NET na Rubfy
O Cloud VPS Brasil da Rubfy tem processadores Intel Xeon Gold, SSD NVMe, tráfego ilimitado e ativação imediata em datacenter no Brasil, com preço fixo em reais e suporte humano pelo WhatsApp e por ticket.