是一个高性能的HTTP服务器和反向代理服务器;也是一个IMAP、POP3、SMTP代理服务器。也就是说Nginx本身就可以托管网站(类似于Tomcat一样),进行Http服务处理。
优点:
①更快:一方面,在正常情况下,单次请求会得到更快的响应;另一方面,在高峰期(如有数以万计的并发请求),Nginx可以比其他Web服务器更快地响应请求。
Nginx代理和后端web服务器之间无需长连接,nginx接收用户的请求是异步的,先将用户的请求全部接收,再一次性发送给后端web服务器,极大的减轻了后端web服务器的压力。发送响应报文时,是边接收来自后端Web服务器的数据,边发送给客户端。
②高扩展性、跨平台:
③高可靠性:用于反向代理,宕机的概率微乎其微。
④低内存消耗:因为Nginx是基于事件的,它不用为每个请求产生新的进程或线程,所以它的内存使用很低。在我的基准测试中,它的内存使用坐落在2.5M,Apache使用得更多。
⑤单机支持10万以上的并发:能够在峰值期顶住10万以上并发请求。
⑥热部署:可以在7×24小时不间断服务的前提下,升级Nginx的可执行文件。当然,它也支持不停止服务就更新配置项、更换日志文件等功能。
同类产品对比:
最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程
相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。
nginx处理静态文件好,耗费内存少。但无疑apache仍然是目前的主流。有很多丰富的特性。
nginx处理动态请求是鸡肋,一般动态请求要apache去做,nginx适合静态和反向,Nginx 静态处理性能比Apache高3倍以上。
Nginx 配置简洁, Apache相对复杂;Apache的组件比Nginx多。