首页 > 系统相关 >为什么推荐大家使用 Nginx 而不是 Apache?

为什么推荐大家使用 Nginx 而不是 Apache?

时间:2023-01-15 11:01:27浏览次数:44  
标签:Web 请求 epoll 推荐 Nginx Apache 服务器


无论是 Nginx 还是 Apache 都是 Web 服务器应用,通俗点说我们的网站都是需要 Web 服务器应用来展现给客户的,而服务器是供 Web 服务器应用正常稳定的运行的基础。所以说选择好 Web 服务器应用是会影响到网站性能表现的,甚至会影响到用户的浏览体验。而目前比较主流的 Web 服务器应用也就是 Nginx 和 Apache 了,今天就给大家说明一下为什么我一直都推荐大家使用 Nginx 而不是 Apache?

为什么推荐大家使用 Nginx 而不是 Apache?_apache

有关 Nginx 和 Apache 的介绍我就不做赘述了,大家自行百度、谷歌一下就可以了解了,废话不多说了,直奔主题:

1、作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。在高连接并发的情况下,Nginx 是 Apache 服务器不错的替代品;Nginx 在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型。

Nginx 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP 代理服务器对外进行服务。Nginx 采用 C 进行编写,不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好很多。

为什么推荐大家使用 Nginx 而不是 Apache?_nginx_02

2、Nginx 配置简洁,Apache 复杂,Nginx 启动特别容易,并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。Nginx 静态处理性能比 Apache 高 3 倍以上,Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端来使用,Apache 的组件比 Nginx 多。

为什么推荐大家使用 Nginx 而不是 Apache?_apache_03

3、最核心的区别在于 Apache 是同步多进程模型,一个连接对应一个进程;Nginx 是异步的,多个连接(万级别)可以对应一个进程。

为什么推荐大家使用 Nginx 而不是 Apache?_Nginx_04

4、Nginx 的优势是处理静态请求,cpu 内存使用率低,Apache 适合处理动态请求,所以现在一般前端用 Nginx 作为反向代理抗住压力,Apache 作为后端处理动态请求。

Nginx 相对 Apache 的优点

  • 轻量级,同样起 web 服务,比 Apache 占用更少的内存及资源
  • 抗并发,Nginx 处理请求是异步非阻塞的,而 Apache 则是阻塞型的,在高并发下 Nginx 能保持低资源低消耗高性能
  • 高度模块化的设计,编写模块相对简单
  • 社区活跃,各种高性能模块出品迅速啊

Apache 相对 Nginx 的优点

  • rewrite,比 Nginx 的 rewrite 强大
  • 模块超多,基本想到的都可以找到
  • 少 bug,Nginx 的 bug 相对较多
  • 超稳定

存在就是理由,一般来说,需要性能的 web 服务,用 Nginx。如果不需要性能只求稳定,那就 Apache 吧。后者的各种功能模块实现得比前者,例如 ssl 的模块就比前者好,可配置项多。

为什么推荐大家使用 Nginx 而不是 Apache?_Nginx_05

这里要注意一点,epoll(freebsd 上是 kqueue)网络 IO 模型是 Nginx 处理性能高的根本理由,但并不是所有的情况下都是 epoll 大获全胜的,如果本身提供静态服务的就只有寥寥几个文件,Apache 的 select 模型或许比 epoll 更高性能。当然,这只是根据网络 IO 模型的原理作的一个假设,真正的应用还是需要实测了再说的。

最后 Nginx 和 Apache 的差异总结成一句话就是:“Nginx 适合处理静态请求和反向代理,Apache 适合处理动态请求”。但这个差异化只有在请求量达到一定的阈值时表现差异才能表现出来,对于 WordPress 、 Typecho 等等这里动态站点来说某一天流量达到这个阈值的时候,还可以部署 LNMPA 这样的生产环境来应对和解决。所以流量阈值需求不到的时候,选择 Nginx 是性价比最好的选择了。

标签:Web,请求,epoll,推荐,Nginx,Apache,服务器
From: https://blog.51cto.com/10zhancom/6008379

相关文章

  • Apache Commons IO Utils组件的下载与添加
    ApacheCommonsIOUtils组件的下载commons-io是一套io工具类包,下载地址​​https://commons.apache.org/​​javaio操作是开发中比较常用的技术,但是如果每次都使用原......
  • nginx内置参数
    $args#请求中的参数值$query_string#同$args$arg_NAME#GET请求中NAME的值$is_args#如果请求中有......
  • Apache Arrow User Guide——使用Apache Arrow读写HDFS中的parquet文件
    安装一下HADOOP并配置一下LD_LIBRARY_PATHexportHADOOP_VERSION=2.10.1exportHADOOP_HOME=/opt/hadoop-$HADOOP_VERSION#AddHadoopJavalibrariestoyourCLASSPATH,......
  • [VueJsDev] 快速入门 - vscode 设置推荐
    vscode设置推荐:::details目录目录​vscode设置推荐​​​Edit.1:GotoLocation​​​​Flow.2:创建tag并送到远程​​:::一些常用设置Edit.1:GotoLocationvscode......
  • [VueJsDev] 快速入门 - vscode 插件推荐
    Vscode插件推荐:::details目录目录​Vscode插件推荐​​​Font.1:字体推荐​​​​Them.2:Ayu主题​​​​Them.3:SpacegrayVSCode​​​​Plug.4:Veturvue2......
  • 推荐系统相关数据集下载
    这些数据集在可作为基准的推荐系统中非常流行。Douban:http://socialcomputing.asu.edu/datasets/Douban这是一个匿名的豆瓣数据集,包含129,490个独立用户和58,541个独立......
  • nginx 统计UV PV IP等
    cat/var/log/nginx/access.log1.根据访问IP统计UVawk'{print$1}' /var/log/nginx/access.log|sort|uniq-c|wc-l2.统计访问URL统计PVawk'{print$7}'/var/log/ng......
  • 巴菲特 炒股书籍推荐
    炒股需要学习,增加自己的知识,赢人生财富。实现财富自由。给大家分享几本关于巴菲特的书。1、证券分析:原书第6版(经典畅销版全两册).pdf​​https://www.aliyundrive.com/s/iy......
  • 首次打开apache-TomCat的一些问题
    问题①:点击bin文件夹下的startup.bat后直接闪退。解决:检查电脑系统环境变量中的这三个(右键此电脑->属性->高级系统设置->高级->环境变量(看下面的系统变量)),如图......
  • C# winform 推荐五款图形库
    推荐五款图形库http://netcontrols.org/nplot/wiki/index.phphttps://scottplot.net/https://gitee.com/electronic-diy-studio/OxyPlotWinformhttps://sourceforge.ne......