科普Nginx和apache的区别及优缺点比较

最近很多小伙伴来问我Nginx和apache的区别,这个问题用三言两语也很难解释,于是整理出了这一篇文章与大家共享。除了Nginx和apache的区别,还比较了各自的优缺点。这是我自学Nginx和工作经验所得,希望能对大家有帮助。

定义

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页,它是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。

Apache支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。其特点是占有内存少,并发能力强,易于开发,部署方便。Nginx 支持多语言通用服务器。


Nginx和apache的区别

Apache是同步多进程模型,一个连接对应一个进程,而Nginx是异步的,多个连接(万级别)可以对应一个进程。

Nginx轻量级,抗并发,处理静态文件好。

Apache超稳定,对PHP支持比较简单,Nginx需要配合其他后端用,处理动态请求有优势,建议使用前端Nginx抗并发,后端apache集群,配合起来会更好。

两者优缺点比较

1.Nginx 配置简洁, Apache 复杂 ;Nginx 静态处理性能比 Apache 高 3倍以上 ;

2.Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用;Apache 的组件比 Nginx 多 ;

3.apache是同步多进程模型,一个连接对应一个进程;Nginx是异步的,多个连接(万级别)可以对应一个进程;

4.Nginx处理静态文件好,耗费内存少;动态请求由apache去做,Nginx只适合静态和反向;

5.Nginx适合做前端服务器,负载性能很好;Nginx本身就是一个反向代理服务器 ,且支持负载均衡。

以上就是Nginx和apache的区别及优缺点比较,可能是还不够全面。总的来说,Nginx负载均衡、反向代理、处理静态文件优势。Nginx处理静态请求的速度高于apache,同时并发性比较好,CPU内存占用低,因此可以应对千万级别的网络请求。

相关文章

为什么nginx比apache更强

Nginx才短短几年,就拿下了Web服务器大壁江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于Httpd,甚至能轻松解决C10K问题。在高并发连接的情况下,Nginx是Apache服务...

每天学知识:Windows和Linux服务器差异

服务器在日常中的应用越来越多,这就需要我们每个人都要掌握一些关于服务器的一些知识。今天我们就来讲一下Windows 和linux 服务器的区别。Linux是内核免费的开源操作系统,有很多版本,比较有名...

web中间件Apache的性能调优

上篇文章讲了nginx,在Web中间件中,除了Nginx外,另一个用得最多的中间件就是Apache。有的人可能不知道他和tomcat的区别。apache nginx 是http serverDjang...