Hosting node.js applications in IIS on Windows
Clone or download
Latest commit 8657944 Sep 21, 2018
Permalink
Failed to load latest commit information.
src v0.2.21 - Fix issues. Apr 11, 2016
test iisnode events in FREB Aug 4, 2014
.gitignore tuning perf test params to achieve valid results Nov 30, 2011
LICENSE.txt update license Nov 3, 2011
README.md Update README.md Sep 21, 2018

README.md

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