Qu'y a-t-il d'installé sur votre serveur ASP.NET ?
- SDK .NET 10 LTS, avec le runtime ASP.NET Core, depuis les paquets d'Ubuntu 24.04
- Un projet Razor Pages d'exemple : source dans /home/app/uygulama/kaynak, sortie dans /home/app/uygulama/yayin
- Un service systemd appelé uygulama, exécuté par l'utilisateur sans privilèges app en Production sur 127.0.0.1:5000
- Nginx comme proxy inverse, avec les en-têtes WebSocket définis et une limite de 64 Mo pour le corps des requêtes
- Un certificat Let's Encrypt de certbot pour votre adresse sslip.io, renouvelé automatiquement
- 1 Go de swap, plus git
- Seuls les ports 22, 80 et 443 sont ouverts vers l'extérieur, tandis que le port 5000 de Kestrel reste interne
Quelle taille faut-il pour ASP.NET ?
Microsoft ne donne pas un seul chiffre de RAM pour ASP.NET Core, car cela dépend de votre application. À titre indicatif, 1 Go est un début pour exécuter une petite application compilée. Si vous lancez dotnet publish sur le serveur, 2 Go sont plus confortables, même avec le 1 Go de swap que cette installation ajoute. Pour Entity Framework et les projets plus chargés, pensez à 4 Go. La RAM et le processeur grandissent séparément depuis votre panneau ; le serveur redémarre une fois, et vos données et votre IP restent les mêmes.
| Usage | Taille | Prix | Choisir |
|---|---|---|---|
| Démarrage | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mois | |
| Moyen | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mois | |
| Puissant | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mois |
Pour qui ?
- Les projets construits sur ASP.NET Core MVC, Razor Pages, Web API ou Blazor Server
- Les équipes qui veulent exécuter .NET sur Linux sans IIS
- Les pipelines qui compilent avec dotnet publish et envoient le résultat vers leur propre serveur
- Les applications avec des clients en Turquie qui doivent tourner depuis Istanbul
Que se passe-t-il après votre commande ?
- Réglez la taille et terminez votre paiement.
- Votre serveur démarre, et .NET et Nginx s'installent tout seuls. Cela a pris environ 3,5 minutes lors de nos tests sur de vrais serveurs.
- Dans l'onglet Vue d'ensemble, ouvrez le lien Adresse du site. La page Razor d'exemple s'affiche.
- Connectez-vous en SSH, lancez su - app, apportez votre projet et lancez dotnet publish -c Release -o ~/uygulama/yayin.
- En tant que root, dans /etc/systemd/system/uygulama.service, remplacez kaynak.dll sur la ligne ExecStart par votre propre fichier.
- Lancez systemctl daemon-reload et systemctl restart uygulama, puis actualisez le site.
Avec chaque serveur
- Sauvegardes quotidiennes incluses dans le prix
- Trafic illimité
- Accès root complet
- Augmentez ou réduisez la RAM et le CPU plus tard, et agrandissez le disque
- Emplacement : Istanbul · IST-1.
Bon à savoir
- Les anciennes applications .NET Framework et Web Forms ne fonctionnent pas sur Linux. Ce serveur est prévu pour .NET 10 et ASP.NET Core : ces projets doivent donc d'abord être portés.
- Seul .NET 10 est installé. Pour un projet qui cible net8.0, relevez la cible, installez ce runtime ou publiez-le en mode autonome.
- Kestrel écoute sur le port 5000. Si vous le changez, mettez à jour ensemble ASPNETCORE_URLS dans le fichier du service et la ligne proxy_pass dans Nginx.
- Aucune base de données n'est installée. Mettez votre chaîne de connexion dans les paramètres de l'application ou dans le fichier du service comme variable d'environnement.
- Microsoft demande de conserver les clés de protection des données dans un stockage persistant, afin que les cookies de connexion restent valides après un redémarrage.
- Si un certificat ne peut pas être émis, le site s'ouvre en http sur votre adresse IP. Les mises à jour de .NET et de votre application sont de votre responsabilité.
Questions et réponses sur ASP.NET
De combien de RAM ASP.NET a-t-il besoin ?
Microsoft n'a pas de chiffre de RAM unique pour ASP.NET Core. À titre indicatif, 1 Go est un bon début pour une petite application compilée, 2 Go si vous compilez sur le serveur et 4 Go pour des projets plus chargés avec Entity Framework. Si cela ne suffit pas, vous agrandissez depuis votre panneau.
ASP.NET peut-il tourner sur un VPS Linux ?
ASP.NET Core le peut. Ce serveur fait tourner .NET 10 sur Ubuntu 24.04, avec votre application sur Kestrel et Nginx qui lui transmet les requêtes : IIS n'est donc pas nécessaire. Les anciennes applications .NET Framework sont un autre cas, car elles ne tournent que sous Windows.
Quelle version de .NET est sur le serveur ?
Le SDK .NET 10 est installé, et le runtime vient avec. Si vous ciblez une autre version, installez ce runtime ou publiez votre projet en mode autonome, afin qu'il apporte son propre runtime au serveur.
Comment déployer mon application ASP.NET ?
Avec l'utilisateur app, lancez dotnet publish -c Release -o ~/uygulama/yayin, ou copiez le résultat de votre publication dans ce dossier depuis votre ordinateur. Changez le nom de la dll dans uygulama.service, puis lancez systemctl daemon-reload et systemctl restart uygulama.
Mon application Web Forms ou MVC 5 fonctionnera-t-elle ?
Non. Web Forms et MVC 5 demandent .NET Framework, qui n'existe que sous Windows. Pour cela, choisissez un serveur avec Windows Server et saisissez votre propre licence, ou portez le projet vers ASP.NET Core.
Comment connecter mon propre domaine à un serveur ASP.NET ?
Faites pointer l'enregistrement A de votre domaine vers l'adresse IP de votre serveur, puis lancez certbot --nginx -d yourdomain.com. Le certificat est émis et se renouvelle tout seul.
SQL Server est-il installé, et quelle base de données utiliser ?
Aucune base de données n'est installée. Avec Entity Framework, vous pouvez vous connecter à SQL Server sur une autre machine ou installer ici une base comme PostgreSQL. Si vous voulez un serveur séparé, nous en proposons aussi un avec PostgreSQL installé.