Indeed, I stand corrected. My experience with WebSockets and Apache was only with Apache 2.2 and it looks like mod_proxy_wstunnel does address the fundamental issues I experienced with previous versions in proxying WebSockets. The configuration in Apache does look simple, but the documentation could be expanded on. http://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html I wonder how you would do sticky sessions with it? These kinds of details is what Passenger helps with for us non-experts in Apache and nginx. Apache may still have some issues with WebSockets that Passenger is working on fixing. https://github.com/phusion/passenger/issues/1202 Generally the Passenger folks just suggest you use nginx as it is known to work well with WebSockets. Jason On Fri, Dec 12, 2014 at 8:58 AM, Adam Constabaris <[log in to unmask] > wrote: > We are getting a bit afield, but I cry "CALUMNY" and I call out my esteemed > colleague for attempting to place an unqualified smirch on the good name of > Apache httpd. I don't think there's evidence to establish that Apache's > "prefork" MPM (the default Multi Processing Model used by default on *nix) > directly impacts its utility for use as a websockets proxy (also: Apache > offers more processing models these days, including the 'event' MPM which > is rather more like nginx). Rather, it's the lack in Apache 2.2 of a proxy > module designed to specifically support websockets. This has been > addressed in Apache 2.4 with mod_proxy_wstunnel. > > cheers, > > AC > > > > > > > On Thu, Dec 11, 2014 at 1:22 PM, Jason Ronallo <[log in to unmask]> wrote: > > > Junior, > > > > Not exactly your question, but there are sometimes reasons to proxy your > > node.js app behind another Web server (say to share a domain or subdomain > > with other applications or content without using a new public port). > Choose > > nginx in that case if you can. There are good tutorials for setting up > > node.js apps as an upstream of nginx. The evented model of nginx works > > better in cases where you're using some of the things node.js (or should > I > > be saying io.js these days?) excels at like keeping WebSocket connections > > open. You'll generally get better concurrency and memory use with nginx > in > > these cases. Apache's blocking and threaded model is not suitable for > > things like WebSockets. I can't say I fully understand all this, but from > > what I've read and experienced it is true. > > > > Reading David Naughton's post: I recommend Passenger to folks who aren't > > system admins and want to run Ruby, node.js, or wsgi applications. nginx > is > > very easy to install using Passenger's installer and then you can choose > to > > use Passenger or not. If you use Passenger and your node app is not set > up > > to deal with multiple instances spawning then you will run into issues, > so > > you'll want to set the maximum instances for your application in > Passenger > > config to 1. > > > > Jason > > > > On Thu, Dec 11, 2014 at 12:03 PM, Junior Tidal <[log in to unmask] > > > > wrote: > > > > > Hi all, > > > > > > I'd like to experiment with node.js on our production server to create > a > > > small calendar app. > > > > > > I was wondering if it's better to run node.js on the same server with > > > Apache, or to set it up a separate cloud instance? > > > > > > I'm not sure if one is better than the other. > > > > > > Best, > > > > > > Junior Tidal > > > Assistant Professor > > > Web Services and Multimedia Librarian > > > New York City College of Technology, CUNY > > > 300 Jay Street, Rm A434 > > > Brooklyn, NY 11201 > > > 718.260.5481 > > > > > > http://library.citytech.cuny.edu > > > > > >