Angular 9 Universal 9-Bereitstellung auf IIS-Server mit web.config? Bereitstellen von Angular 9 Server-seitigem Rendering auf einem IIS-Server
Bereitstellen des Angular 9 Server-seitigen Renderns auf einem IIS-Server
Was wird web.configfür IIS sein
Antworten
Im Folgenden finden Sie die Schritte zum Erstellen einer Beispiel-App und zum Bereitstellen in iis:
1) Installieren Sie die Angular 10 CLI und initialisieren Sie ein neues Projekt. (Sie können diesen Schritt überspringen, wenn Sie die App bereits erstellt und npm installiert haben.)
npm install -g @angular/cli
ng new angular-seo-app
2) Kehren Sie zu Ihrer Befehlszeilenschnittstelle zurück und navigieren Sie zunächst zum Ordner Ihres Projekts:
cd angular-seo-app
ng add @nguniversal/express-engine --clientProject angular-seo-app
Der Schaltplan fügt Ihrem Projekt automatisch die erforderlichen Konfigurationen und Pakete hinzu und fügt sogar einen Express-Server hinzu.
Der Express-Server rendert einen Teil Ihrer Angular-App und gibt HTML an den Browser zurück. Der Server wird standardmäßig auf dem 4000-Port ausgeführt
3) Gehen Sie zurück zu Ihrem Terminal und führen Sie die folgenden Befehle aus:
npm run build:ssr
npm run serve:ssr
Dadurch wird Ihr Projekt mit SSR-Unterstützung erstellt und der Express-Server von der Adresse http: // localhost: 4000 gestartet.
Sie sehen den dist-Ordner in Ihrem Projektordner.
4) Gehen Sie zu Ihrem Windows-Server (C: \ inetpub \ wwwroot) und erstellen Sie einen leeren Ordner (nennen Sie ihn beispielsweise ng-ssr).
5) In dist-Ordner in ng-ssr kopieren
6) Öffnen Sie den Ordner C: \ inetpub \ wwwroot \ ng-ssr \ dist \ angle-seo-app \ server. Sie finden die Datei main.js
7) Kopieren Sie main.js und fügen Sie es direkt in den Ordner ng-ssr ein
8) Erstellen Sie die Datei web.conifg in Ihrem Ordner ng-ssr und fügen Sie den folgenden Code hinzu:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="main.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="DynamicContent">
<match url="/*" />
<action type="Rewrite" url="main.js"/>
</rule>
<rule name="StaticContent" stopProcessing="true">
<match url="([\S]+[.](jpg|jpeg|gif|css|png|js|ts|cscc|less|ico|html|map|svg))" />
<action type="None" />
</rule>
</rules>
</rewrite>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" />
<remove fileExtension=".svg" />
<remove fileExtension=".eot" />
<remove fileExtension=".ttf" />
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<remove fileExtension=".otf" />
<mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<mimeMap fileExtension=".woff" mimeType="application/x-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/x-woff" />
<mimeMap fileExtension=".otf" mimeType="application/otf" />
</staticContent>
</system.webServer>
</configuration>
Eine IIS-Datei web.config ist eine XML-Datei, die Regeln für eine bestimmte Site (oder ein bestimmtes Verzeichnis) auf Ihrem Webserver enthält. Es ähnelt einer .htaccess-Datei in Apache. Diese Datei enthält möglicherweise Fehlerseiten für die Einstellung von Regeln 404, 403 usw. für Ihre Site sowie Umleitungsregeln für ältere URLs.
Unsere Datei web.config enthält die URL-Umschreiberegel, die Knoteneinstellung und den MIME-Typ.
Hinweis: Laden Sie die URL Rewrite und iisnodex64 , iisnodex86 herunter
Jetzt muss Ihr Website-Ordner folgendermaßen aussehen:
9) Erstellen Sie eine Website in IIS
und fügen Sie den Ordnerpfad hinzu: C: \ inetpub \ wwwroot \ ng-ssr
10) Wechseln Sie im IIS zum Anwendungspool für die von Ihnen erstellte Website und ändern Sie die .NET Framework-Version in Kein verwalteter Code
Hinweis: Stellen Sie sicher, dass Sie dem Ordner ng-ssr die Vollzugriffsberechtigung iis_iusrs und iusr zugewiesen haben.
Durchsuchen Sie Ihre Website: