O que vem instalado no seu servidor ASP.NET?
- SDK do .NET 10 LTS, incluindo o runtime do ASP.NET Core, dos pacotes do Ubuntu 24.04
- Um projeto Razor Pages de exemplo: código-fonte em /home/app/uygulama/kaynak, saída em /home/app/uygulama/yayin
- Um serviço systemd chamado uygulama, executado como o usuário app sem privilégios, em Production, em 127.0.0.1:5000
- Nginx como proxy reverso, com cabeçalhos WebSocket definidos e limite de 64 MB para o corpo da requisição
- Um certificado Let's Encrypt do certbot para o seu endereço sslip.io, renovado automaticamente
- 1 GB de swap, mais o git
- Somente as portas 22, 80 e 443 abertas para fora, enquanto a porta 5000 do Kestrel fica interna
Qual tamanho você precisa para ASP.NET?
A Microsoft não dá um único valor de RAM para o ASP.NET Core, porque ele depende do seu app. Como regra prática, 1 GB é um começo para rodar um app compilado pequeno. Se for executar dotnet publish no servidor, 2 GB é mais confortável, mesmo com o 1 GB de swap que esta instalação adiciona. Para o Entity Framework e projetos mais movimentados, considere 4 GB. RAM e CPU aumentam separadamente pelo painel; o servidor reinicia uma vez, e seus dados e o IP continuam os mesmos.
| Uso | Tamanho | Preço | Escolher |
|---|---|---|---|
| Inicial | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mês | |
| Médio | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mês | |
| Potente | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mês |
Para quem é?
- Projetos feitos com ASP.NET Core MVC, Razor Pages, Web API ou Blazor Server
- Equipes que querem rodar .NET no Linux sem o IIS
- Pipelines que compilam com dotnet publish e enviam o resultado para o próprio servidor
- Apps com clientes na Turquia que devem rodar a partir de Istambul
O que acontece depois do pedido?
- Defina o tamanho e conclua o pagamento.
- Seu servidor inicia, e o .NET e o Nginx se instalam sozinhos. Nos nossos testes em servidor real, levou cerca de 3,5 minutos.
- Na aba Visão geral, abra o link Endereço do site. A página Razor de exemplo aparece.
- Conecte-se por SSH, execute su - app, traga seu projeto e execute dotnet publish -c Release -o ~/uygulama/yayin.
- Como root, em /etc/systemd/system/uygulama.service, troque kaynak.dll na linha ExecStart pelo seu próprio arquivo.
- Execute systemctl daemon-reload e systemctl restart uygulama e depois atualize o site.
Em todo servidor
- Backup diário incluído no preço
- Tráfego ilimitado
- Acesso root completo
- Aumente ou reduza RAM e CPU depois, e aumente o disco
- Localização: Istanbul · IST-1.
Bom saber
- Apps antigos do .NET Framework e Web Forms não rodam no Linux. Este servidor é para .NET 10 e ASP.NET Core, então esses projetos precisam ser portados antes.
- Só o .NET 10 está instalado. Para um projeto que tem como alvo net8.0, aumente o alvo, instale esse runtime ou publique-o como autossuficiente.
- O Kestrel escuta na porta 5000. Se você mudá-la, atualize juntos o ASPNETCORE_URLS no arquivo do serviço e a linha proxy_pass no Nginx.
- Nenhum banco de dados está instalado. Coloque sua string de conexão nas configurações do app ou no arquivo do serviço como variável de ambiente.
- A Microsoft pede que você guarde as chaves de proteção de dados em um armazenamento persistente, para que os cookies de login continuem válidos depois de uma reinicialização.
- Se não for possível emitir um certificado, o site abre por http no seu endereço IP. As atualizações do .NET e do seu app são responsabilidade sua.
Perguntas e respostas sobre ASP.NET
De quanta RAM o ASP.NET precisa?
A Microsoft não tem um único valor de RAM para o ASP.NET Core. Como regra prática, 1 GB é um bom começo para um app compilado pequeno, 2 GB se você compila no servidor e 4 GB para projetos mais movimentados com Entity Framework. Se não for suficiente, você aumenta pelo painel.
O ASP.NET roda em um VPS Linux?
O ASP.NET Core roda. Este servidor executa o .NET 10 no Ubuntu 24.04, com seu app no Kestrel e o Nginx repassando as requisições a ele, então o IIS não é necessário. Apps antigos do .NET Framework são outra história, porque só rodam no Windows.
Qual versão do .NET está no servidor?
O SDK do .NET 10 está instalado, e o runtime vem junto. Se o seu alvo for outra versão, instale esse runtime ou publique o projeto como autossuficiente, para que ele leve o próprio runtime ao servidor.
Como publico meu app ASP.NET?
Como usuário app, execute dotnet publish -c Release -o ~/uygulama/yayin ou copie o resultado da publicação do seu computador para essa pasta. Altere o nome da dll em uygulama.service e execute systemctl daemon-reload e systemctl restart uygulama.
Meu app Web Forms ou MVC 5 vai rodar?
Não. Web Forms e MVC 5 precisam do .NET Framework, que existe só no Windows. Para eles, escolha um servidor com Windows Server e insira sua própria licença, ou porte o projeto para o ASP.NET Core.
Como conecto meu próprio domínio a um servidor ASP.NET?
Aponte o registro A do seu domínio para o endereço IP do servidor e execute certbot --nginx -d yourdomain.com. O certificado é emitido e se renova sozinho.
O SQL Server vem instalado, e qual banco de dados devo usar?
Nenhum banco de dados está instalado. Com o Entity Framework, você pode se conectar a um SQL Server em outra máquina ou instalar aqui um banco como o PostgreSQL. Se quiser um servidor separado, também oferecemos um com PostgreSQL instalado.