/iisnode

Hosting node.js applications in IIS on Windows

Primary LanguageC++OtherNOASSERTION

NOTE: Official branch is azure/iisnode

TL;DR; I no longer maintain or monitor this repository. Please go to azure/iisnode for the latest version of the stack and/or to file any issues.

I developed the iisnode technology to enable hosting Node.js applications in IIS, specifically in the Azure Websites, back when I was working at Microsoft. When I left the company in 2013, Microsoft decided to retain ownership of the stack. While I cannot speak to the current state of affairs or plans going forward, as of this writing, iisnode appears to still power execution of Node.js apps in Azure, and the azure/iisnode fork is where the action happens. Happy Noding!

-- @tjanczuk, 9/21/2018

Hosting node.js applications in IIS on Windows

Branches

  • master: stable version.
  • iisnode-dev: development branch.

Why would I want to do it?

Benefits

Who uses iisnode?

Prerequisites for using

Installing for IIS 7.x/8.x

  • Install iisnode for IIS 7.x/8.x: x86 or x64 - choose bitness matching your system
  • To set up samples, from the administrative command prompt call %programfiles%\iisnode\setupsamples.bat
  • Go to http://localhost/node

Installing for IIS Express/WebMatrix

  • Install WebMatrix using the Web Platform Installer
  • Open WebMatrix, choose “Site from folder”, enter %localappdata%\iisnode\www, start the site, and play with the iisnode samples, or
  • Use node.js templates to get started quickly with an Express application or a skeleton Hello World

Installing for IIS Express 8 on Windows x64 This can be a head-scratcher since IIS Express 8 gives you both 32-bit and 64-bit versions (http://www.iis.net/learn/extensions/introduction-to-iis-express/iis-80-express-readme). You can either:

  • Install the full x64 version, then in Visual Studio go to Tools > Options > Projects and Solutions > Web Projects > Use the 64 bit version of IIS Express. This way you have a single install for both IIS and IIS Express.
  • Separately install iisnode express version (https://github.com/azure/iisnode/wiki/iisnode-releases).

Howtos

Prerequisites for building

Building

Build commands should be issued from the build environment set up with "%programfiles(x86)%\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat", assuming default installation location of Visual Studio 2012 on x64 platform.

For x86 build:

msbuild /p:Platform=Win32 src\iisnode\iisnode.sln

For x64 build:

msbuild /p:Platform=x64 src\iisnode\iisnode.sln

Installing after build

  • For IIS 7.x/8.0: build\debug\{x64|x86}\iisnode-full.msi
  • For IIS Express 7.x: build\debug\x86\iisnode-express.msi

Running tests

  • Install for IIS 7.x/8.x (see previous sections)
  • test\functional\test.bat
  • note that for the WebSocket tests to pass you must be running in IIS 8.x on Windows 8 or Windows Server 2012

Resources & documentation