Awesome
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?
Who uses iisnode?
- Microsoft azure - benefits
- Microsoft azure - get started with node.js
- appharbor.com
- discountasp.net
- arvixe.com
- smarterasp.net
- gearhost.com
- webecs.com
Prerequisites for using
- Windows Vista, Windows 7, Windows 8, Windows Server 2008, or Windows Server 2012
- IIS 7.x with IIS Management Tools and ASP.NET
- WebSocket functionality requires IIS 8.x on Windows 8 or Windows Server 2012
- URL rewrite module for IIS
- Latest node.js build for Windows
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
- the basics
- the basics (Pусский перевод)
- [NEW: websockets] (http://tomasz.janczuk.org/2012/11/how-to-use-websockets-with-nodejs-apps.html)
- using with express framework
- using with URL rewrite module
- using with WebMatrix and IIS Express
- site templates for WebMatrix
- using with mongodb
- diagnosing problems with ETW traces
- using with MVC
- portuguese: node.js no windows: instalando o iisnode
- integrated debugging
- NEW: integrated debugging with node-inspector v0.7.3
- pub/sub server using faye
- appharbor uses iisnode
Prerequisites for building
- All prerequisities for using
- Visual Studio Express 2012 for Windows Desktop
- WIX Toolset v3.6
- Windows SDK for Windows 8
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