• Stars
    star
    1,830
  • Rank 24,351 (Top 0.5 %)
  • Language
    C++
  • License
    Other
  • Created over 12 years ago
  • Updated over 2 years 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,391
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
80
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#
28
star
10

arrjs

HTTP and WebSocket application routing
JavaScript
25
star
11

edge-cs

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

isode

Docker based isolation for multi-tenant Node.js
JavaScript
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

netlify-functions-example

HTML
1
star
33

narconi

HTTP protocol for RabbitMQ
JavaScript
1
star
34

pivotal2slack

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