node.js self-hosting on windows without iisnode - node.js

Sorry for if it's a duplicate but i couldn't find it.
I have an .net mvc app on windows server 2012 R2 with IIS 8.5. I will use some socket operations in my app. So i write an app in node.js with socket.io.
I want to host my node app in same server. All articles that i've found says "use iisnode". But I am not sure about that because of possible issues. Specially performance issues make me suspicious.
My questions are:
Should i trust iisnode to serve node app on windows?
or
What are any other options to host node.js app on windows without iisnode?
I've already read
Installing and Running node.js applications within IIS on Windows - Are you mad?, https://tomasz.janczuk.org/2011/08/hosting-nodejs-applications-in-iis-on.html and https://tomasz.janczuk.org/2013/01/hosting-socketio-websocket-apps-in-iis.html blog posts.

Related

How to use IIS Express 10?

I have installed IIS 10 On my Windows 10 PC but after installation I cannot find the application either in start menu or if I make a search for it.
I have tried to go to C:\Program files\IIS Express\ but can't understand anything there
I want to see the files of a website.
First you have to understand the difference between iis and iis express. IIS express would only be used by people who don't have access to IIS or want something that is lighter than IIS but more like IIS than Cassini. IIS 7 ships with the operating system and is tightly integrated to Windows. more information you can refer to this link:
IIS Express Overview
IIS Web Server Overview
https://stackoverflow.com/a/8396060/13336642
If you are installing IIS 10(not iis express), then you can find it in the start menu. If you can’t find it, you may have a problem with the installation. you can refer to the following article on how to install iis. If it is iis express, then you can use it in visual studio.
https://www.howtogeek.com/112455/how-to-install-iis-8-on-windows-8/

Self Host SignalR in windows 10

Hi iam making an app for which i have already completed the UI part and is currently a asp.net MVC project. for which i use the local IIS to debug. A part of the project that we are using uses signalr for device that connect to the system running the app.
Local IIS on windows 10 PRO limits the max connection to 10. Which is not something we can do away with.
The solution that seems promising is to make a signalR self host.
as the link states here
https://github.com/aspnet/KestrelHttpServer/issues/435
if the app is not using any part of the inbuilt IIS then there is no limit of the maximum connection.
The problem that im facing is that there is not help available anywhere related to it. and i want to be sure before getting to start with signalR self host about the maximum connections that it will be able to hold on a system running windows 10 Home / Pro.
Run it in IIS Express.
Right click your web project and go to properties.
On the Web tab, note the Project Url with port (http://localhost:12345)
That is the url it will be running in IIS Express.
Then start your site to fire it up in IIS Express. I right click the web and select View, but you could also start debugging.
Once it is running in IIS Express you can see the icon in the taskbar by the clock and manage all sites running in IIS Express there.
So without the available help. I converted my application to SignalR Self Host and tested it. ANd seems there is no Connection Limit even on Windows 10 Home version. So the system is working fine.
#Lex Li i think you should test again with windows 10.
So the conclusion is that IIS is actually the culprit for the max connection limit.

Deploy NodeJs Express App on Windows and Linux Server

I am developing a small project which contains few applications:
A node.js rest API
A node.js app that use socket.io.
A static app that server html js file to the client.
I am also using a MongoDb.
In few weeks, I'll have to deploy this app in production and I have some requirements that the app should be installed on windows and Linux server (Don't really know if it really matters).
I had a look at some tooling :
StrongLoop Process Manager
PM2
Forever
But cannot really find out if these tools are up to date or if there are better alternative in 2016 ?
Here are what seem to be the recommended ways that I've found:
Windows: iis-node (and this vid is helpful to get that going). Also note you'll need IIS 8x to support websockets.
Linux: PM2 to manage the process, and nginx for proxy server. This article has helpful step-by-step for Ubuntu.

Suggestion regarding host a node.js and socket.io app in aws webserver with a config OS windows 2008 R2 and IIS 7

I have been kept on trying to host my nodeJS and socket.io chat app on a web server with Windows 2008 R2 OS and IIS version 7.I have been kept on trying a lot of things to make it work.The problem is my nodeJS app is getting connected but not my socket.io. I have looked into lots of tutorials regarding this but everything is saying the same but nothing works out. Here is one of the link I saw http://tomasz.janczuk.org/2013/01/hosting-socketio-websocket-apps-in-iis.html
I am receiving a 404 error.
GET http://my ip:8081/socket.io/?EIO=3&transport=polling&t=1431071918368-3
404 Not Found
250ms
Kindly help me out with it!!
Thanks

IIS Express vs Default IIS that comes with Windows 7

I am new to the world of IIS and I wanted to know the following...
I have heard about IIS Express. I run Windows 7 Ultimate and have installed the IIS that comes packaged with Windows 7.
As a developer, is there any major benefit for me if I install IIS Express over the default IIS that comes with Windows 7 for .Net Web projects?
Here are the differences from http://www.mywindowsclub.com/resources/3302-Key-differences-between-IIS-IIS-Developer.aspx.
If you already have IIS installed - its a better product. IIS express would only be used by people who don't have access to IIS or want something that is lighter than IIS but more like IIS than Cassini.
Integrated with OS
IIS 7 ships with the operating system and is tightly integrated to Windows.
IIS developer express is a separate downloadable tool
Targetted users
IIS 7 is for both developers as well as for production purposes.
IIS developer express can be used only for development purposes and not for production.
Supported Windows editions
IIS 7 will work only on Windows Vista and newer editions of Windows. In case of server OS, IIS 7 will work only on Windows 2008.
IIS developer edition will work even on older version - starting from Windows XP and newer.
Process model and activation
In IIS 7, the worker thread is automatically launched and managed by Windows Process Activation Service.
In case of IIS Express, user has to handle this.
FTP support
IIS developer express does not support FTP while IIS 7 supports it.
WCF support
IIS Developer express supports only WCF over HTTP.
IIS 7 supports WCF including over TCP, Named Pipes, and MSMQ.
Multi developer support
IIS 7 is a single user application.
IIS Developer express supports multi developer environment. Configuration files, settings, and Web content are maintained on a per-user basis.
Visual Studio integration
All editions and versions of Visual Studio have built-in support for IIS 7.
Only VS 2010 and future versions will have built-in support for IIS developer express.
Runtime extensions
IIS developer has support for URL Rewrite and FastCGI.
Webmatrix offers support for SEO, database management and Web Deployment. Other extensions that are offered with IIS are not yet tested with IIS Developer express.
Management Tools
IIS 7 is managed using the IIS Manager.
IIS Developer express can be managed using Webmatrix. Also, the express edition has support through system tray.
Port used by IIS
The default website comes with IIS 7 listens to port 80.
The default website part of IIS developer express listens to port 8080 to avoid conflicts with IIS 7 when they are running side by side.
From Scott Gu's post on IIS Express:
Why Not IIS
The downside with using the IIS option today, though, is that some
companies don’t allow full web-servers to be installed on developer
machines. IIS also requires administrator account access to setup and
debug projects. Different versions of Windows also support different
versions of IIS. For example, if you are running on Windows XP you
have to use the IIS 5.1 web-server that comes with it – which doesn’t
support all the new features of IIS 7.x. Configuring a web project
within VS to use IIS also requires some extra installation and
configuration steps.
Why IIS Express
It’s lightweight and easy to install (less than 10Mb download and a
super quick install) It does not require an administrator account to
run/debug applications from Visual Studio It enables a full web-server
feature set – including SSL, URL Rewrite, Media Support, and all other
IIS 7.x modules It supports and enables the same extensibility model
and web.config file settings that IIS 7.x support It can be installed
side-by-side with the full IIS web server as well as the ASP.NET
Development Server (they do not conflict at all) It works on Windows
XP and higher operating systems – giving you a full IIS 7.x developer
feature-set on all OS platforms IIS Express (like the ASP.NET
Development Server) can be quickly launched to run a site from a
directory on disk. It does not require any registration/configuration
steps. This makes it really easy to launch and run for development
scenarios.
After a couple of hours i found one significant reason to use Express over Local IIS : "Edit and Continue" does not work on local IIS.

Resources