首页 > 系统相关 >Web服务器Apache和Nginx的区别

Web服务器Apache和Nginx的区别

时间:2023-12-11 12:47:11浏览次数:24  
标签:Web nginx 配置 apache Nginx Apache 服务器

Apache和Nginx是两种主要Web服务器,Apache和Nginx最核心的区别在于Apache是同步多进程模型,一个连接对应一个进程;而Nginx是异步的,多个连接(万级别)可以对应一个进程。

Apache

1、apache 的 rewrite 比 nginx 强大,在 rewrite 频繁的情况下,用 apache
2、apache 发展到现在,模块超多,基本想到的都可以找到
3、apache 更为成熟,少 bug ,nginx 的 bug 相对较多
4、apache 超稳定
5、apache 对 PHP 支持比较简单,nginx 需要配合其他后端用
6、apache 在处理动态请求有优势,nginx 在这方面是鸡肋,一般动态请求要 apache 去做,nginx 适合静态和反向。
7、apache 仍然是目前的主流,拥有丰富的特性,成熟的技术和开发社区

Nginx
1、轻量级,采用C进行编写,同样的 web 服务,会占用更少的内存及资源
2、抗并发,nginx以 epoll and kqueue作为开发模型,处理请求是异步非阻塞的,负载能力比apache高很多,而apache则是阻塞型的。在高并发下 nginx 能保持低资源低消耗高性能 ,而 apache 在PHP 处理慢或者前端压力很大的情况下,很容易出现进程数飙升,从而拒绝服务的现象。
3、nginx 处理静态文件好,静态处理性能比 apache 高三倍以上
4、nginx 的设计高度模块化,编写模块相对简单
5、nginx 配置简洁,正则配置让很多事情变得简单,而且改完配置能使用 -t 测试配置有没有问题,apache配置复杂,重启的时候发现配置出错了,会很崩溃
6、nginx 作为负载均衡服务器,支持 7 层负载均衡
7、nginx 本身就是一个反向代理服务器,而且可以作为非常优秀的邮件代理服务器
8、启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级
9、社区活跃,各种高性能模块出品迅速

Apache和Nginx各有优缺点,有许多朋友会将两者结合来用,使用服务器的性能更优越。
宝塔面板可以方便的配置LAMP或者LNMP环境,但是并不能一键搭建apache和nginx共存的环境,需要自己手动设置。

标签:Web,nginx,配置,apache,Nginx,Apache,服务器
From: https://www.cnblogs.com/akweb/p/17894124.html

相关文章

  • 学习教程大全(java、c#、Web、GIS、Andriod)
    学习教程大全(java、c#、Web、GIS、Andriod)1.Andriod││AndroidApp开发入门使用AndroidStudio2.X开发环境第2版.pdf││AndroidStudio开发实战:从零基础到App上线.pdf││Android4高级编程(jb51.net).pdf││Android程序员面试宝典pdf扫描版.pdf......
  • 先进的Web3.0实战热门领域NFT项目几个总结分享
    Web3.0的出现为数字资产和区块链技术带来了全新的发展机遇。其中,非同质化代币(NFT)项目成为了热门领域之一。本文将介绍几个基于最先进的Web3.0技术实战的热门NFT项目,并分享一些相关代码。CryptoKitties(加密猫)CryptoKitties是首个基于NFT项目之一。它允许用户收集、繁殖和交易虚拟猫......
  • webrtc应用上线cpu偏高的问题排查
    现象 如上图,上线后服务全量使用的cpu统计明显增高,大概在50%左右. 排查比对上一稳定版本和本次版本代码diff,无异常比对依赖lib版本,无异常使用perf和FlameGraph生成火焰图比对两个版本差异.发现几个问题:有些调用栈不同,缺少一些中间函数调用栈;新版本在音频......
  • yew 基于rust 以及wasm 创建web 应用的框架
    yew基于rust以及wasm创建web应用的框架,我们可以基于一些定好好的rust宏,实现基于webassembly的web应用开发包含的特性基于组件使用了类似rect以及elm的开发模式html宏类似reactjsx的定义ssr支持服务端渲染,默认属于客户端选择,但是可以通过ServerRenderer设......
  • 小程序 webview 标题设置
    //小程序uni.setNavigationBarTitle设置后,会被webview页面的标题覆盖,后面再设置也不会刷新//在h5页面中设置,也会被vue的默认标题覆盖掉,并且之后无法刷新小程序显示的标题//只能在h5那边,vue页面router权限处理的地方(/router/permissions.ts中router.afterEach处),第一次给doc......
  • Django笔记四十四之Nginx+uWSGI部署Django以及Nginx负载均衡操作
    本文首发于公众号:Hunter后端原文链接:Django笔记四十四之Nginx+uWSGI部署Django以及Nginx负载均衡操作这一篇笔记介绍如何使用Nginx+uWSGI来部署Django。上一篇笔记中有介绍直接使用uWSGI作为web服务器来部署Django,这一篇笔记介绍如何使用Nginx来部署。使用Ngin......
  • nginx配置php
    usernginx;worker_processes4;work_cpu_affinity0001001001001000;#error_loglogs/error.log;#error_loglogs/error.lognotice;#error_loglogs/error.loginfo;#pidlogs/nginx.pid;events{worker_connections65535;useepoll;......
  • Go-web应用部署的方式——(3)Nginx
    摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。参考:部署Go语言项目的N种方法|李文周的博客(liwenzhou.com) 抛开宝塔面板一键部署的方式,这里记录下手动使用Nginx部署应用的过程,以及前后端是否分离的区别1.安装Nginxsudoyuminstallepel......
  • Go-web应用部署的方式——(2)nohup、supervisor后台运行
    摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。参考:部署Go语言项目的N种方法|李文周的博客(liwenzhou.com)1.nohupnohup用于在系统后台不挂断地运行命令,不挂断指的是退出执行命令的终端也不会影响程序的运行。主流的Linux发行版中都会默认......
  • Go-web应用部署的方式——(1)Docker
    摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。参考:如何使用Docker部署GoWeb应用|李文周的博客(liwenzhou.com)1.编写Dockerfile文件#使用基础镜像FROMgolang:alpine#设置环境变量ENVGO111MODULE=on\GOPROXY=https://goproxy.cn,......