Linux:Apache和Nginx的区别

Linux:Apache和Nginx的区别

图示工作过程

apache使用的是进程负责到底的工作流程,其特点是稳定;nginx使用了连接复用器这个结构,可以实现一个进程只负责给存储单元提出需求,而不需要负责到底,这样大大提高了效率,其特点是可以处理很多的请求很高效

核心区别

两者最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;而nginx是异步的,多个连接(万级别)可以对应一个进程

应用场景区别

  • apache允许php比较好,适合跑动态;nginx比较适合跑静态

  • apache侧重在稳定性上;nginx侧重在轻量高效上

  • nginx配置简洁,支持正则表达式配置,并且配置完毕后可以使用-t参数测试配置是否书写正确;apache配置较复杂,不支持配置完毕后测试功能,只能通过重启服务后的报错和错误日志来检测错

  • nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apache 高很多,而 apache 则是阻塞型的。在高并发下 nginx 能保持低资源低消耗高性能 ,而 apache 在 PHP 处理慢或者前端压力很大的情况下,很容易出现进程数飙升,从而拒绝服务的现象

如何选择web服务所使用的软件

  • 一般来说,需要性能的web服务,可以使用nginx。如果不考虑性能只要求稳定,优先考虑apache。
  • 在安全方面,apache的各种功能模块实现得比nginx要好,例如ssl的模块apache比nginx要好,可配置项多。

很多时候apache和nginx是配合使用的,nginx配置在apache前面,用来挡掉过多的静态网页文件的请求,nginx处理不了的内容才转发给apache来处理

相关推荐
聆风吟º2 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann
Coder个人博客3 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
较劲男子汉5 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
Doro再努力5 小时前
Vim 快速上手实操手册:从入门到生产环境实战
linux·编辑器·vim
wypywyp5 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
阿蒙Amon6 小时前
TypeScript学习-第10章:模块与命名空间
学习·ubuntu·typescript
AI绘画哇哒哒6 小时前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
风流倜傥唐伯虎6 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Doro再努力6 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene6 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器