今日关键对比下这些热门的WEB服务器:lighttpd、apache、nginx
1、LIGHTTPD
1.1概述
Lighttpd 是一个意大利人领导的开源系统Web服务器手机软件,有着极低的运存花销,cpu占用率低,效率好,及其丰富多样的控制模块等优点。支持FastCGI, CGI, Auth,导出缩小(output compress), URL重新写过, Alias等关键作用。
它应用FastCGI方法运作PHP时,将应用极少的PHP过程回应非常大的并发量。
1.2 优势
1)从可靠性来看,FastCGI要以单独的进程池运作来CGI,独立一个过程死了,系统软件能够很轻易的丢掉,随后分配新的进程来运作逻辑性;
2)从稳定性来看, FastCGI和寄主的server彻底单独, fastcgi怎么down都不会把server弄垮;
3)从性能来看, FastCGI把动态性逻辑的解决从server中提取出来,大负载的IO解决或是交给宿主server,那样宿主server能够一心一意作IO,针对一个普通的动态网站而言,逻辑性解决大概只有一小部分, 大量照片等静态数据IO解决完全不用逻辑程序参与其中(注1)
4)从可扩展性上来讲,FastCGI是一个保持中立的标准规范,一定可以支持一切语言表达写程序处理(php,java,python…)
1.3 支持电脑操作系统
- Linux(binary packages for FC3,SuSE,Debian,Gentoo,PLD-Linux,OpenWRT)
- BSD(FreeBSD,NetBSD,OpenBSD,MacOSX)
- SGIIRIX
- Windows(Cygwin)While it is known to compile cleanly on
- Solaris
- AIX
2、APACHE
2.1 概述
Apache是世界排名第一的web服务器,依据所作出的调研,全世界百分之五十以上web服务器在使用apache。
Apache是以过程为核心的构造,过程会比进程耗费更多系统软件支出,不适合于多处理器自然环境,因而,在一个Apache Web站点扩充时,一般是提升服务器或增加集群连接点而非提升Cpu。全世界许多有名的网址如Amazon、Yahoo!、W3 Consortium、Financial Times等等都是Apache的物质。
2.2 优势
- 基本上可以运作在所有电子计算机软件上.
- 支持全新的http/1.1协议书
- 简易并且强有力根据文档配置(httpd.conf).
- 支持通用性网关ip插口(cgi)
- 支持云虚拟主机.
- 支持http验证.
- 集成化perl.
- 模块化代理商服务器
- 能通过web浏览器监控服务器状态,能够自定日志.
- 支持服务器端包括指令(ssi).
- 支持安全性socket层(ssl).
- 具备用户会话流程的追踪能力.
- 支持fastcgi
- 支持java servlets
2.3 支持电脑操作系统
- Linux
- Windows
- 别的
3、NGINX
3.1概述
Nginx是俄国人编写的十分轻量的HTTP服务器,Nginx,它发音为“engine X”, 是一个高性能的HTTP和端口转发服务器,并且也是一个IMAP/POP3/SMTP代理商服务器。Nginx是由俄国人 Igor Sysoev为俄国浏览量第二的 Rambler.ru站点开发设计。Nginx是一款轻巧的Web 服务器/端口转发服务器及电子邮箱(IMAP/POP3)代理商服务器,并在一个BSD-like 协议书下发售。特点是占据运行内存少,高并发能力强,客观事实上nginx的高并发能力确实在同类的网页页面服务器中的表现不错,中国内地使用nginx网站客户有:百度搜索、京东商城、新浪网、网易游戏、腾讯官方、淘宝网等。
Nginx以量化策略(epoll)的形式撰写,因此有很好的性能,并且也是一个十分高效率的端口转发、负载均衡,有研究发现能支持达到 50,000个并发连接数。。其有着配对 Lighttpd的性能,与此同时都还没Lighttpd的内存泄漏难题,并且Lighttpd的mod_proxy也有一些难题而且很久没有升级。可是Nginx并不是支持cgi方式运作,主要原因是能够减少因而所带来的一些程序流程里的系统漏洞。因此必须采用FastCGI方法去执行PHP程序流程。
3.2优势
- 解决静态文件,索引文件及其全自动引索;
- 开启文件描述符缓存;
- 无缓存文件的端口转发加快,简单web服务和容错机制;
- FastCGI,简单web服务和容错机制;
- 模块化设计的构造。包含gzipping, byte ranges, chunked responses,及其 SSI-filter等filter。假如由FastCGI或其他代理商服务器解决宣传单页中出现的好几个SSI,则此项解决能够并行处理运作,而无需互相等候。
- Nginx致力于性能提升而开发设计,性能则是最主要的考虑,完成上十分注重效率
- Nginx具有较高的可靠性。其他HTTP服务器,在遇到浏览的最高值,或是有些人故意进行慢速度联接时,也挺可能会致使服务器物理内存耗光经常互换,丧失回应,只有重新启动服务器。比如现阶段apache一旦上升200个以上过程,web响应速度就明显十分迟缓了。而Nginx实施了阶段性资源配置技术性,促使它CPU与内存使用率极低。nginx官方网表明维持10,000个并没有主题活动连接,它仅占2.5M运行内存,因此类似DOS这种伤害对nginx而言基本上就是毫无价值的。就可靠性来讲,nginx比lighthttpd更胜一筹。
- Nginx支持热部署。它运行很容易,而且基本上能做到7*24无间断运作,即便运作多个月不需要重启。你还是可以在无间断服务项目的情形下,对软件版本开展进行更新。
3.3电脑操作系统
- Linux
- Windows(移殖版本号)
- 别的
3.4 强烈推荐构架
nginx做为最前面的web cache系统,一般的构架如下所示
这一构造的优势:
- 能使用nginx前面开展众多繁杂配置,这种配备过去在squid是无法做或者做下去非常麻烦的,例如对于文件目录的盗链。
- nginx前面能直接分享一部分不用缓存文件请求。
- 由于nginx高效率高过squid,因此一些前提下可以借助nginx的缓存文件来缓解squid工作压力。
- 能够实现url hash等分派对策
- 还可以在最前面打开gzip压缩,那样后边的squid缓存文件的单纯是没有压缩文档,能避免许多无意义的透过。
- 由于nginx稳定性比较高,所以lvs不经常需要调节,根据nginx调节就能。
- squid的文件打开数按默认1024就非常合适了,但是解决请求可一个都不会少。
- 能够启用nginx的日志作用替代squid,这么做即时浏览量统计分析的时候可以精准定位到url,多余再换规模不经济的grep来过虑。
- 由于nginx的负荷能力高过squid,因此在用lvs分离时可以不必分到尤其平衡,发生服务器宕机的机率非常低。
nginx和squid相互配合构建的web服务器前端系统构架:
前面的lvs和squid,依照安装步骤,把epoll开启,环境变量生搬硬套,大部分难题很少。
这一构架和app_squid构架的差别,都是关键环节便是:加入一级中高层代理商,中高层代理的益处实在太多了:
- gzip压缩:缩小能通过nginx做,那样,后台应用服务器无论是apache、resin、lighttpd乃至iis或其它怪异服务器,都不需要担心缩小功能的难题。
- web服务和常见故障屏蔽掉:nginx可作为web服务代理商应用,且有常见故障屏蔽掉作用,那样,依据文件目录乃至一个正则表达式制定出负载均衡策略成了小case。
- 方便快捷的运维服务,在各类前提下能够灵便制订方案。
- 管理权限清楚:这两台设备就是不写程序的维护员承担,程序猿一般不用管理方法这两台设备,那样倘若出现异常,非常容易能够找到正确人。针对运用服务器和数数据库服务器,最好是是以维护员的视线中消退,我的目标是,这种业务只需能跑得起来就行了,其他的事儿所有能够在外部清理掉。
3种WEB服务器得比较
以下属于对于这三个web服务器的一些比较:
从上面的解读较为推荐的一种方案是:
- Apache后台服务器(关键解决php及一些作用要求 如:中文url)
- Nginx 前面服务器(利用它占有服务器资源少得优点去处理静态网页很多要求)
- Lighttpd图片服务器
后面会共享更多devops和DBA方面的知识,感兴趣的小伙伴可关注下~
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。