Freigeben über


Einführung in IIS unter Nano Server

von David So

Kompatibilität

Version Hinweise
IIS 10.0 Die in diesem Artikel beschriebenen Features wurden in IIS 10.0 eingeführt.
IIS 8.5 und früher Die in diesem Artikel beschriebenen Features wurden vor IIS 10.0 nicht unterstützt.

Nano Server

Nano Server ist eine spannende, neue Installationsoption in Windows Server 2016.

Hier ist ein Zitat aus dem Leitfaden Erste Schritte mit Nano Server, das Nano Server ziemlich gut zusammenfasst:

„Nano Server ist ein remote verwaltetes Serverbetriebssystem, das für private Clouds und Rechenzentren optimiert ist. Das Betriebssystem ähnelt Windows Server im Modus Server Core, ist aber deutlich kleiner, hat keine Möglichkeit zur lokalen Anmeldung, und unterstützt ausschließlich 64-Bit-Anwendungen, Tools und Agents. Es beansprucht weit weniger Speicherplatz, wird erheblich schneller eingerichtet und erfordert wesentlich weniger Updates und Neustarts als Windows Server. Wenn Neustarts notwendig sind, erfolgen diese deutlich schneller.“

Nano verbraucht also viel weniger Speicher auf der Festplatte. Schneller. Weniger Neustarts. Benötigt weniger Arbeitsspeicher. Was will man mehr? :)

IIS unter Nano Server

Mit dem Release von Windows Server 2016 freuen wir uns darauf, dass IIS jetzt als Rolle in Nano Server verfügbar ist, und jeder es ausprobieren kann. Mit kleinerem Arbeitsspeicher und erheblich geringerem Festplattenbedarf eignen sich Webworkloads besonders für die Ausführung auf Nano Server, insbesondere für Hosting mit hoher Dichte.

Erste Schritte

Im Wesentlichen ist die gängigste Methode zum Erstellen eines Nano Server vhd(x) über das New-NanoServerImage-cmdlet.

Übergeben Sie zum Aktivieren von IIS einfach Microsoft-NanoServer-IIS-Package als Argument an den Packages-Parameter. Beispiel:

New-NanoServerImage -MediaPath f:\ -BasePath .\Base -TargetPath .\Nano1.vhd -GuestDrivers -Packages Microsoft-NanoServer-IIS-Package

Wichtige Unterschiede zwischen IIS unter Nano und regulärem Server

Installation

Wir haben in IIS für Nano viele Änderungen vorgenommen, um sowohl die Online- als auch die Offlineinstallation zu unterstützen. Mit „online“ meinen wir, wenn der Computer „läuft“ (nicht online im Sinne von Netzwerkverbindung) und mit „offline“, dass der Computer nicht läuft.

In der Vergangenheit und auf einem regulären Server kann IIS nur online installiert werden (Computer läuft). Das Vorbereiten eines Computers mit IIS folgt in der Regel einer Sequenz, z. B.:

  1. Betriebssystem installieren
  2. Warten, bis die Installation abgeschlossen ist
  3. IIS-Rolle aktivieren
  4. Warten, bis die IIS-Rolle abgeschlossen ist
  5. Einstellungen konfigurieren, z. B. Authentifizierungseinstellungen, Module, Asp.Net

Mit Nano Server kann das Setup offline bereitgestellt werden, wodurch die obigen Schritte 1 bis 4 erheblich vereinfacht und beschleunigt werden.

Wenn Sie New-NanoServerImage zum Erstellen einer vhd(x) mit Microsoft-NanoServer-IIS-Package verwenden, konfigurieren Sie eine standardmäßig funktionierende Installation von IIS

  • Installierte IIS-Dienste (z. B. WAS, W3SVC)

  • Ein standardmäßiger Satz von IIS-Unterfeatures, z. B. Standarddokument, statischer Inhalt, HTTP-Protokollierung usw.

    • Welche Unterfeatures standardmäßig aktiviert sind, sehen Sie in diesem Diagramm.
  • Firewallregel für standardmäßige 80/443-Ports aktiviert

Wenn das generierte vhd(x)-Image, das IIS bereits integriert hat, verwendet wird, können neue Webservercomputer extrem schnell bereitgestellt werden. Ich konnte auf dem Desktopcomputer in meinem Büro innerhalb von knapp 25 Sekunden neue virtuelle Computer erstellen, Offline-Spezialisierungen durchführen, die Computer starten und Webanforderungen bereitstellen. Dasselbe mit Server Core zu tun, hätte um einiges länger gedauert.

Konfiguration

Das Konfigurieren von IIS-Unterfeatures wie Authentifizierung und Protokollierung ist derzeit noch ein auf online beschränkter Schritt (ähnlich wie reguläre Server).

Auf regulären Servern können IIS-Unterfeatures über DISM-Befehle wie z. B. dism /online /enable-feature /all /featurename:IIS-WindowsAuthentication aktiviert/deaktiviert werden.

In der technischen Vorschau von Windows Server 2016 war die Konfiguration von IIS-Unterfeatures über DISM nicht verfügbar und war mit mehr Aufwand verbunden (daher die technische Vorschau…) Dies ist definitiv ein Bereich, den wir verbessern möchten.

Derzeit können PowerShell-Befehle verwendet werden, um die entsprechenden Module zu aktivieren/zu deaktivieren, oder Sie können applicationHost.config bearbeiten. Weitere Informationen finden Sie in der IIS Nano-Dokumentation.

Das Diagramm zeigt auch die verfügbaren IIS-Unterfeatures in Nano ab der neuesten technischen Vorschau. Das Zeichen * zeigt an, welche Features standardmäßig aktiviert sind (Features ohne * sind noch verfügbar, müssen aber aktiviert werden).

Unterstützte Frameworks

ASP.NET Core

Der wichtigste Unterschied zwischen Nano und regulären Servern besteht darin, dass Nano auf Asp.Net Core ausgerichtet ist (früher Asp.Net 5). Unter Nano werden weder Classic Asp noch vollständige .Net Framework-Anwendungen wie Asp.Net <=4 ausgeführt.

Hier ist mein Blogbeitrag zum Abrufen einer Asp.Net Core-Anwendung, die mit IIS unter Nano ausgeführt wird.

Java

Java-Anwendungen können über HttpPlatformHandler unter IIS gehostet werden.

Mein Kollege Jeong Hwan hat hier einen Blogbeitrag zum Bereitstellen von Java mit IIS unter Nano.

Andere

Die Unterstützung von ASP.NET Core und Java auf IIS Nano ist ein guter Start, obwohl wir Pläne haben, zusätzliche Plattformen zu unterstützen. HttpPlatformHandler ist ein universelles Modul zum Verwalten und Senden von Anforderungen an HTTP-Listener, es kann also durchaus weitere Plattformen geben, die gut unter Nano ausgeführt werden können, die wir noch nicht getestet und daher auch nicht aufgeführt haben.

Wenn Sie dies ausprobieren (z. B. mit Ruby oder Node), und es funktioniert, lassen Sie es uns wissen!

Verwaltung

Nano Server ist ein „monitorloses“ Betriebssystem, auf dem Server selbst gibt es also keine GUI. PowerShell ist das Herzstück der Nano-Verwaltungsoberfläche. Dies bedeutet natürlich, dass Sie IIS unter Nano mit unseren IIS PowerShell-Cmdlets verwalten können.

Ich sollte klarstellen, dass ab IIS 10.0 zwei IIS PowerShell-Module vorhanden sind:

Nano Server ist eine bereinigte Serverplattform für die Zukunft und deshalb haben wir derzeit keine Pläne, das alte WebAdministration-Modul einzuschließen. Stattdessen wird das neue IISAdministration-Modul bereitgestellt.

Zusätzlich zu PowerShell (IISAdministration) ist die Verwendung von appcmd.exe zum Verwalten von IIS auch eine Option.