nginx于apache的比较

来源:互联网 发布:城市电话区号查询软件 编辑:程序博客网 时间:2024/04/30 10:13

       1  Nginx 以事件驱动的方式编写, 有非常好的反向代理和负载均衡,nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序漏洞,使用fastcgi 方式来执行php程序

      2  Nginx有很高的稳定性,其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。而Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。nginx官方表示保持10,000个没有活动的连接,它只占2.5M内存,所以类似DOS这样的攻击对nginx来说基本上是毫无用处的。就稳定性而言,nginx比lighthttpd更胜一筹。

     3  建议方案:Apache 后台服务器(主要处理php及一些功能请求 如:中文url)

        Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)


Fastcgi的优点在于:

· 从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑.

· 从安全性上看, fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮,

· 从性能上看, fastcgi把动态逻辑的处理从server中分离出来, 大负荷的IO处理还是留给宿主server, 这样宿主server可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态IO处理完全不需要逻辑程序的参与(注1)