对于几大主流服务器,nginx,apache,lighttpd,总是被比较来比较去,下面来说说自己见到的几个应用状况先。
1、apache单枪匹马上阵:
对于追求服务器性能的大公司,或者流量非常大的产品来说,不可能只用apache。
apache稳定,但是因为是多进程同步服务,一个进程对应一个请求,造成其在处理静态资源,大并发请求的时候,hold不住。
不能使用长连接。
不能防止慢连接。
防攻击是事后行为
2、lighttpd单枪匹马上阵:
lighttpd是轻量级服务器,采用的是单进程多路I/O复用,使用epoll模型,一个连接只占用一个数据结构。
lighttpd性能肯定没的说,自己作为一个前端服务器:
能够很好的处理静态资源的访问;
也很好的支持了fastcgi方式运行php。
但是就本姑娘现在所知:
lighttpd的rewrite功能不够强大;
没有支持动态请求缓存;
proxy模块不稳定
很多功能不健全,而且lighttpd本身不够稳定
3、lighttpd + squid + apache
squid:做动态内容缓存使用。
4、transmit+apache
transmit作用:
防攻击,实时行为
支持keepalive
防止慢连接攻击
5、nginx
对你情有独钟哈,不要骄傲。
多进程多路I/O复用。
这一点就够了吧,足够了,这就是nginx牛x的核心原因。
高度模块化。
内存池。
各种细节的优化,数呀数不完。
nginx和apache有啥区别????????
核心区别就是apache是多进程同步,而nginx是多进程异步。平时大家所说的他们之间性能上的区别,完全来自于这里呀。
出了核心点,下面说说杂项点、
nginx优点:
nginx是高度模块化的。
nginx有内存池,防止内存泄露和内存碎片。
配置简洁,热配置部署
apache优点:
稳定,稳定,稳定
bug少
模块多