Il y a deux jours, j’ai réimprimé une analyse de démarrage de .NET Core, car j’étais intriqué dans le port par défaut 5000 à sa sortie, alors je l’ai étudié attentivement.
1. Intégration IIS
Si vous utilisez IIS comme hôte, alors ce ne sont pas un problème, un IIS puissant peut nous aider à configurer le nom de domaine, le port, etc. du site. Quant à la manière de déployer une application web asp.net core sur IIS, ce n’est pas le sujet ici. Décris-le en gros :
Vous devez télécharger le SDK Net Core et l’hébergement serveur, et l’adresse de téléchargement est https://www.microsoft.com/net/download
Après l’installation, vérifiez si le SDK .NET Core est bien installé sur les infos dotnet en ligne de commande
La disponibilité réussie de l’hôte serveur dans le module IIS et la correspondance des gestionnaires est indiquée ci-dessous
Ensuite, configurez le site et spécifiez les fichiers au site de publication
Enfin, le pool de programmes doit être configuré et choisir non géré, afin qu’il y ait une requête de transfert de l’hôte serveur.
2. Environnement Linux
Sans parler de l’installation spécifique, il y en a aussi beaucoup. Selon les instructions sur le site officiel, c’est-à-dire qu’il suffit d’installer l’environnement d’exécution .NET Core et il peut fonctionner.
Voici un article de blog recommandé pour votre propre référence : Déploiement des applications Core en production ASP.NET (CentOS7)
Revenons au point principal, comment configurer les paramètres d’URL et de port
1. Spécifier dans la méthode principale du programme
Cette approche est rigide et moins élégante, même si elle est lue en ajoutant un fichier de configuration. À ce moment-là, je sentais que Microsoft ne recommanderait certainement pas une telle utilisation, alors j’ai continué à la chercher.
2. Passer la variable environnement
J’ai vu un article sur Internet : comment configurer les URL de crécerelles dans ASP.NET Core RC2,
Bien qu’il soit toujours configuré via le fichier de configuration, il n’est pas nécessaire de lire les informations de configuration vers d’autres articles, et il peut être utilisé directement en liant ou en collant le code pour voir :
hosting.json
Program.cs
De cette façon, il peut aussi écouter
Écoute maintenant : http://localhost:60000
À écouter maintenant : http://localhost:60001
N’est-ce pas incroyable ! Je ne supporte pas le combat en lui-même, déduis le code source ! De loin, le meilleur atout de .NET Core, c’est qu’il possède du code source !
En fournissant des sources, nous pouvons savoir qu’il s’agit principalement de la classe WebHostBuilder, sous l’espace de noms Microsoft.AspNetCore.Hosting.
La méthode principale est Build
L’objectif principal ici est de construire un objet WebHost, puis d’aller plus loin
En regardant le code source via la méthode Initialize, nous pouvons connaître l’adresse URL créée par la méthode EnsureServer
Ici, on peut voir qu’il lit _config[WebHostDefaults.ServerUrlsKey] et _config[DeprecatedServerUrlsKey] depuis la configuration.
La valeur de WebHostDefaults.ServerUrlsKey est une valeur fixe
La valeur de DeprecatedServerUrlsKey est définie au début de l’objet WebHost
Oh ! La vérité est révélée. Nous pouvons donc définir « server.urls » dans le fichier de configuration.
Résumé :
En résumé, asp.net core lira la configuration dans la variable d’environnement au démarrage, et le but réel est d’ajouter la configuration suivante aux propriétés du projet :
Il a été lancé en mode console et a constaté que le portage a été modifié.
C’est donc un environnement de développement, comment le déployer sur la chaîne de production ? C’est aussi très simple, prenant le déploiement Linux comme exemple, en utilisant le superviseur du démon pour lancer le programme, en ajoutant des variables d’environnement à la configuration de démarrage du superviseur :
Réussissez haut la main ! Pas une seule ligne de code n’a besoin d’être modifiée, haha~ |