• Stars
    star
    1,847
  • Rank 25,121 (Top 0.5 %)
  • Language
    C++
  • License
    Other
  • Created over 13 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hosting node.js applications in IIS on Windows

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

More Repositories

1

edge

Run .NET and Node.js code in-process on Windows, MacOS, and Linux
C++
5,412
star
2

tripwire

Break out from scripts blocking the node.js event loop
C++
99
star
3

httpsys

Native HTTP stack for Node.js on Windows
C++
95
star
4

nodalytics

Google Analytics for Node.js HTTP APIs
JavaScript
79
star
5

git-azure

Deploy multiple node.js applications to Windows Azure from MacOS using Git
JavaScript
61
star
6

gissues

whiteboard for github issues
JavaScript
57
star
7

wns

Send push notifications to Windows 8 devices using WNS
JavaScript
52
star
8

haiku-http

Multi-tenant runtime for simple HTTP web APIs
JavaScript
33
star
9

edge-sql

Access MS SQL from Node.js using Edge.js
C#
27
star
10

arrjs

HTTP and WebSocket application routing
JavaScript
25
star
11

isode

Docker based isolation for multi-tenant Node.js
JavaScript
22
star
12

edge-cs

C# compiler for edge.js
C#
21
star
13

repl.ws

Script browsers remotely
JavaScript
16
star
14

dpush

Send push notifications to Android devices using GCM
JavaScript
13
star
15

wtc

Webtask Compilers for use with https://webtask.io
JavaScript
13
star
16

dante

Dante over WebSockets
JavaScript
12
star
17

denser

an experiment with high density server side java script
C++
11
star
18

http-timeout

distributed timeouts for http
JavaScript
9
star
19

azurecache

Winows Azure Cache client and Express session store
JavaScript
8
star
20

jsec

Secure your JSON
JavaScript
5
star
21

owin

5
star
22

edge-connect

Implement node.js express handlers and connect middleware in .NET using OWIN
C#
4
star
23

dante4azure

WebSockets with Node.js in Windows Azure Web Sites
JavaScript
3
star
24

webapiperf

A test case for benchmarking performance of web APIs in node.js
JavaScript
3
star
25

nodepi

Install multiple node.js versions on Windows side by side
3
star
26

edge-py

Python compiler for edge.js
C#
3
star
27

qauth

C#
2
star
28

httplock

HTTP based distributed lock
JavaScript
2
star
29

aptest

2
star
30

droplet

Droplet: small drop from a token bucket
JavaScript
2
star
31

tomasz.janczuk.org

1
star
32

narconi

HTTP protocol for RabbitMQ
JavaScript
1
star
33

netlify-functions-example

HTML
1
star
34

pivotal2slack

Post Slack updates on changes in Pivotaltracker projects using Auth0 Webtasks
JavaScript
1
star
35

mkcollage

Create a contact sheet photo collage
JavaScript
1
star