Node.JS 可以不使用 nginx,node.JS 也有一些如 http-proxy 的代理模块可以实现一台服务器上面架设多个网站, 但是一但你的项目过大或用户过多就很难实现了.
尽管 Node.JS 的性能不错, 但处理静态事务确实不是他的专长, 如: gzip 编码, 静态文件, HTTP 缓存, SSL 处理, 负载平衡和反向代理及多站点代理等, 都可以通过 nginx 来完成, 从而减小 node.JS 的负载, 并通过 nginx 强大的缓存来节省您网站的流量从而提高网站的加载速度.
虽然 node.JS 也有一些如 http-proxy 的代理模块可以实现一台服务器上面架设多个网站(每个域名映射到不同 Node.JS 进程的端口), 但这种基础性的工作, 其实更应该交给 ngnix 来完成.
Nginx 是一款轻量级的 web 服务器 / 反向代理服务器及电子邮件 (IMAP/POP3) 代理服务器, 在 BSD-like 协议下发行. 其特点是占有内存少, 并发能力强, 事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好.
使用 nginx 做反向代理:
更灵活的配置, 譬如: 我现在想把某一个特殊请求重定向到另一个地址, nginx 可以直接配置一下就好. 可你要是直接上 node 程序对外, 那你总得改代码重启一下服务器吧
使用 80 端口, 看过官网都知道, node 社区其实是非常非常不建议你使用 sudo 把 node 程序启用 80 端口的, 用 nginx 反向代理下就好了
负载均衡
记录公共日志
来源: http://www.css88.com/qa/node-js/12220.html