Comment déployer une application Core ASP.NET à IIS?
Installez ASP.NET Core Hosting Bundle pour vous assurer que le serveur prend en charge l'application Core ASP.NET en cours d'exécution, y compris les modules d'exécution .NET et IIS, et redémarrez IIS avec les commandes net stop était / y et net start w3Svc; 2. Publier l'application à l'aide de Visual Studio ou CLI (Dotnet Publish -C version -o C: \ Publish), et il est recommandé d'utiliser le déploiement dépendant du framework; 3. Copiez le fichier de publication dans le répertoire du serveur (tel que C: \ Inetpub \ wwwroot \ myApp), et assurez-vous que IIS_IUSRS a lu et exécuté des autorisations; 4. Créez un nouveau site Web dans IIS ou ajoutez-le au site Web par défaut en tant qu'application, configurez le nom du site, le chemin physique et la liaison; 5. Assurez-vous que Web.config Le fichier configure correctement les gestionnaires et les modules ASPNetCore, définissent processPath = "dotNet", arguments = ". \ YourApp.dll", et sélectionnez HostingModel = "Inprocess" ou "OutofProcess" au besoin. Si STDOutLogenabled est activé, vous devez créer un répertoire de journaux; 6. Configurez le pool d'applications, définissez la version .NET CLR sur "pas de code d'hébergement" et définissez le mode de pipeline géré sur "Intégration"; 7. Parcourez le site Web pour vérifier le déploiement, s'il échoue, consultez la visionneuse d'événements, activez le journal STDOUT, confirmez le nom de la DLL et l'état d'installation du bundle d'hébergement. Les problèmes courants incluent 502,5 erreurs (causées par des erreurs d'exécution ou des paramètres manquantes) et des erreurs de fichier exécutable non valides. Il est recommandé d'utiliser le mode de processus améliore les performances, évite la publication autonome inutile et gère la configuration de l'environnement de production à l'aide d'AppSettings.production.json, et garantit finalement que les chemins, les autorisations et les configurations sont cohérents pour terminer le déploiement.
Le déploiement d'une application Core ASP.NET à IIS implique plusieurs étapes car les applications Core ASP.NET s'exécutent en tant que processus autonomes et sont proxées par IIS en utilisant le module Core ASP.NET. Voici comment le faire correctement.

1. Installez le bundle d'hébergement ASP.NET
Avant le déploiement, assurez-vous que le serveur Windows cible a installé le bundle d'hébergement ASP.NET . Ce paquet comprend:
- Le runtime .net
- Le runtime .NET Core Runtime
- Le module de base ASP.NET pour IIS
? Téléchargez-le à partir du site officiel de Microsoft: //m.sbmmt.com/link/a4cd9bc071c923daab48132b0bb2e4f3 (regardez sous "bundle d'hébergement").

Après l'installation, redémarrez IIS en exécutant dans l'invite de commande (en tant qu'administrateur):
L'arrêt net était / y net start w3svc
Cela garantit que le module de noyau ASP.NET est correctement chargé.

2. Publier la demande
Dans votre machine de développement, publiez l'application pour le déploiement:
Utilisation de Visual Studio:
- Cliquez avec le bouton droit sur le projet → Publier
- Choisissez un dossier ou un profil personnalisé
- Définir le cadre cible (par exemple,
net8.0
) - Définir le mode de déploiement: dépendant du cadre (recommandé à moins que vous ayez besoin d'autonomie)
- Cliquez sur Publier
Utilisation de CLI:
Dotnet Publish -C version -o C: \ Publish
Cela crée une sortie autonome ou dépendante du cadre dans le dossier spécifié.
3. Copiez les fichiers sur le serveur
Copiez les fichiers publiés (à partir du dossier publish
) dans un répertoire sur le serveur IIS, par exemple:
C: \ inetpub \ wwwroot \ myApp
Assurez-vous que IIS a lu et exécuté des autorisations sur ce dossier. Le groupe IIS_IUSRS
devrait avoir accès.
4. Créer un site ou une application IIS
Option A: nouveau site
- Open IIS Manager
- Cliquez avec le bouton droit sur les sites → Ajouter le site Web
- Ensemble:
- Nom du site:
MyApp
- Chemin physique:
C:\inetpub\wwwroot\MyApp
- Liaison: par exemple, port 80, nom d'hôte si nécessaire
- Nom du site:
- Assurer le démarrage automatiquement est vérifié
Option B: en tant qu'application sous site par défaut
- Développer le site Web par défaut
- Cliquez avec le bouton droit sur l'application
- Alias:
MyApp
- Chemin physique: Identique à ci-dessus
5. Configurer web.config (facultatif mais important)
Le fichier web.config
doit être inclus dans la sortie publiée. En cas de manque, créez-en un:
<? xml version = "1.0" Encoding = "utf-8"?> <Iconguration> <Path de localisation = "." hheRitinChildApplications = "false"> <système.webserver> <Handlers> <add name = "aspnetcore" path = "*" verb = "*" modules = "aspnetcoreModulev2" ResourceType = "non spécifié" /> </ Handlers> <aspnetcore processPath = "dotNet" arguments = ". \ yourApp.dll" stdoutLogenabled = "false" stdoutLogFile = ". \ logs \ stdout" hostingModel = "inprocess" /> </System.webserver> </lancier> </FIGIGURATION>
? Utilisez
hostingModel="inprocess"
pour de meilleures performances (s'exécute à l'intérieur du processus de travail IIS), ououtofprocess
pour isoler le processus de base .NET.
? Assurez-vous que le dossier
logs
existe sistdoutLogEnabled="true"
- utile pour les problèmes de démarrage de débogage.
6. Configurer le pool d'applications
Assurez-vous que le pool d'applications est configuré correctement:
- Aller dans les pools d'applications
- Trouvez la piscine utilisée par votre site
- Définissez la version .net CLR sur aucun code géré
- Définissez le mode pipeline géré sur intégré
ASP.NET Core n'utilise pas le pipeline ASP.NET LEGACE, donc "aucun code géré" n'est correct.
7. Testez le déploiement
Parcourez votre site:
http://yoursite.com
Si vous voyez une erreur de 500 ou rien:
- Vérifiez la visionneuse de l'événement Windows → les journaux Windows → Application pour les erreurs
- Activer
stdoutLogEnabled="true"
et vérifier le dossierlogs
- Vérifiez le nom de la DLL de l'application dans
web.config
correspond à votre.dll
publié - Confirmez que le faisceau d'hébergement est installé et IIS redémarré
Problèmes et conseils communs
- ❌ "L'exécutable spécifié n'est pas une application valide" : signifie généralement que le bundle d'hébergement n'est pas installé ou que l'application n'est pas publiée correctement.
- ❌ 502.5 Échec du processus : souvent en raison des arguments d'exécution manquants ou
arguments
incorrects dansweb.config
. - ✅ Utilisez l'hébergement
inprocess
pour de meilleures performances, sauf si vous avez besoin d'isolement. - ✅ Évitez de publier avec
self-contained
sauf si nécessaire - il augmente la taille. - ✅ Utilisez
appsettings.Production.json
pour gérer les paramètres spécifiques à l'environnement.
C'est ça. Une fois le bundle d'hébergement en place et que l'application est publiée correctement, IIS sera proxy demandes à votre application ASP.NET Core via le module Core ASP.NET. Assurez-vous simplement que les autorisations de fichier, les chemins et la configuration alignent.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'activation de la prise en charge de l'application 32 bits est une étape clé. Vous devez trouver le pool d'applications correspondant dans IIS Manager et définir "Activer l'application 32 bits" sur true; 2. Recycler le pool d'applications après modification pour rendre la configuration prendre effet; 3. Assurez-vous que les composants DLL ou COM 32 bits sont enregistrés via RegSVR32 dans le répertoire Syswow64 et vérifiez les autorisations d'identité du pool d'application.

UsellogParsertoidentifyslow-runningrequestsbyqueryingthetime-takenfield et sort de l'Indensée

IdentifiertTheCorrectW3WP.ExeprocessByrunningiisappincommandPromptTomatchyourApp’sApplicationPoolWithitSpid.2.InvisualStudio, attachthedebuggerTothentifiedw3wp.exeprocess, SelectTheAppropriadedebuggerType (managedorcoceclr).

TomanageiiswithPowershell, FirstInstallImportThewebadmingingModule, Thenusetheiis: DriveandcmdletStroceateWebsites, ConfigureApplicationPools, setbindings, andAssignenslslcertificatesforautomated, répétitif.

Vérifiez la taille de la demande et la limite d'URL et résolvez le problème de limite en ajustant MaxallowEdContentLength, MaxRequestLength, Maxurl et MaxqueryString dans web.config; 2. Vérifiez les en-têtes ou encodages de demande non valides, utilisez Fiddler ou échoué demandes pour suivre et identifier et réparer les mauvais en-têtes; 3. Dépannage des problèmes HTTPS / SSL, assurez-vous que le client utilise HTTPS, configure correctement SNI et a une correspondance de liaison; 4. Assurez-vous que le corps de la demande est formaté correctement et que le type de contenu correspond pour éviter les erreurs de liaison du modèle; 5. Encoder les caractères spéciaux dans l'URL et utiliser avec précaution

Pour désactiver la journalisation d'un site Web spécifique sur IIS, trouvez d'abord le site Web cible dans le gestionnaire IIS et entrez le paramètre "Enregistrement du journal", 1. Définissez "Calendrier du journal" sur "Aucun", 2. Décochez "Activer la journalisation", 3. Cliquez sur Appliquer pour enregistrer les modifications, l'opération ne affectera que le site Web actuel; Notez que l'ancien journal ne sera pas supprimé automatiquement et qu'il doit être nettoyé manuellement, et en même temps, confirmez si le chemin du journal est partagé, si les autorisations sont normales et si l'outil de surveillance dépend du journal pour éviter les problèmes ultérieurs.

Installer PHP et configurer php.ini pour activer les extensions nécessaires; 2. Activer la fonction CGI dans IIS; 3. Enregistrez PHP en tant qu'application FASTCGI via IIS Manager et Ajouter le mappage. .Php; 4. Créez un fichier de test info.php pour vérifier la configuration, assurez-vous que les autorisations et les chemins sont corrects et redémarrez IIS si nécessaire.

Activer la fonction ASP.NET dans IIS; 2. Exécutez ASPNET_REGIIS-I en tant qu'administrateur pour enregistrer ASP.NET; 3. Définissez la version .NET correcte et le mode pipeline intégré dans le pool d'applications; 4. Grant le dossier du site Web Lire et exécuter les autorisations pour IIS_IUSRS et Identités de pool d'applications; 5. Activer éventuellement les journaux de suivi des demandes et de vérification échoué; 6. Vérifiez les erreurs de fichier Web.config et les erreurs d'application dans la visionneuse d'événements; En effectuant les étapes ci-dessus à leur tour, vous pouvez résoudre les "erreurs d'application du serveur" qui se produisent après l'installation d'IIS, vous assurer que ASP.NET est correctement enregistré et configuré le pool d'applications, et enfin faire fonctionner le site Web normalement.
