I\'m building a Node.js applications and I\'m using nginx as a reverse proxy. My application has some static files I need to serve and a Socket.io server.
I know th
The Express documentation explicitly recommends using a reverse proxy where possible. To quote from this article:
Nginx can do a much better job of handling static files and can prevent requests for non-dynamic content from clogging our node processes.
There's an awful lot of articles discussing the subject which go into greater detail, but I would definitely heed the recommendations made by the Express developers.
for development: express, mainly because of flexibility it provides... you can change your static location and structure very easily during development
for production: nginx, because its much much faster. Node/express are good for executing logic, but for serving raw content... nothing can beat nginx. You also get additional capabilities such as gzip, load balancing...
Nevertheless, this question has been asked in stackoverflow a number of times already: see