Node.js + Windows Server + IIS

NodeJS ist unter bestimmten Umständen genau die richtige Lösung. Als .NET-Entwickler möchte man natürlich seine gewohnte Umgebung auch beim Hosting nicht verlassen. codingfreaks zeigt, wie man um ein paar Klippen bei der Einrichtung auf einem Windows Server 2008 R2 herum kommt.

Vorbemerkungen

Ob jemand NodeJS braucht oder nicht, ist sicherlich Ermessenssache. Scott Hanselman hat in seinem Beitrag einiges zum Thema geschrieben. Um ehrlich zu sein, arbeite ich mich selbst gerade erst ein. Dazu muss man natürlich im ersten Step mal eine Installation sauber aufsetzen.

NodeJS selbst besteht, wie viele andere Umgebungen auch, aus einer EXE-Datei. Für Faule, wie mich gibt es nun einen MSI-Installer, der einem das Leben wesentlich vereinfacht.

Probleme bekam ich erst, als ich die Installation von iisnode anstoßen wollte. iisnode sorgt verinfacht ausgedrückt dafür, dass man NodeJS als Modul in den IIS eingebunden bekommt, sodass man sich keine Gedanken mehr um das Deployment machen muss.

NodeJS installieren

Zunächst einmal zum unproblematischen Teil. Ich habe mir den 64-bit-MSI-Installer von NodeJS.org (v 0.10.3) besorgt. Diesen führe ich nun auf einem Windows Server 2008 R2 (x64) mit IIS 7.5 aus. Startet man das MSI-Paket, kommt man während der üblichen Installer-Steps an 2 recht interessanten Screens vorbei:

Abb. 1: Zielpfad
Abb. 1: Zielpfad
Abb. 2: Optionen
Abb. 2: Optionen

In Abb. 1 kann man erkennen, dass der ganz normale „Program Files“-Ordner verwendet wird. Das wird später noch entscheidend sein, denn dieser Pfad wird nun natürlich auch in die PATH-Umgebungsvariable geschrieben (Abb. 2).

Für den Moment ist aber alles im Lot und wir können die Installation abschließen.

iisnode zickt rum

Kaum, dass ich die deutlich mit „x64“ gekennzeichnete Version von iisnode starte, erscheint eine Fehlermeldung mit dem Hinweis „The node.exe is not found at C:\Program Files (x86)\node.js.“. Natürlich nicht! Da gehört die 64-bit-Version ja auch nicht hin:

Abb. 3: iisnode-Setup will nicht
Abb. 3: iisnode-Setup will nicht

Begibt man sich nun auf die Suche nach dem Fehler, wechseln die Informationen zwischen „iisnode kann kein 64-bit-nodejs“ und „Das Problem ist bereits behoben“ hin und her. Letztlich hatte ich die Nase voll und sorgte mit einem beherzten
[dos title=“Listing 1: Symbolischen Link setzen“]
mklink /D „C:\Program Files (x86)\nodejs“ „C:\Program Files\nodejs“
[/dos]
endgültig für Ruhe. Es schadet übrigens nichts, den Link einfach beizubehalten, denn man hat ja weiterhin nur den einen Installationsordner.

Ergebnis

Das Ergebnis der ganzen Mühe kann man sich am besten im IIS Manager selbst ansehen. Dort sollte unter der Default Web Site im Bereich Modules nun iisnode auftauchen:

Abb. 3: iisnode-Setup will nicht
Abb. 3: iisnode-Setup will nicht

Abb. 4: iisnode im IIS Manager
Abb. 4: iisnode im IIS Manager

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.