Code Monkey home page Code Monkey logo

nginxapachewebtree's Introduction

NginxApacheWebTree

Nginx, Apache等WEB服务器选型比对

###Apache请求模型

###Nginx请求模型

Apache与Nginx的优缺点对比:
      1:Nginx相对于Apache的优点:
           1)轻量级:同样是web服务,比Apache占用更少的内存及资源
           2)抗并发:Nginx处理请求时异步非阻塞的,而apache则是阻塞的,在高并发下nginx
                     保持低资源消耗高性能。
           3)高度模块化的设计,编写模块相对简单。
           5)社区活跃,各种高性能模块快速推出

      2:apache相对于Nginx的优点
           1)rewrite,比Nginx强大
           2)模块超多,基本能想到的都有
           3)少bug,Nginx相对较多,超稳定。

      
      一般来说,需要性能的WEB服务,用Nginx,如果不需要性能只求稳定,那就用Apache。后者的
      各种功能模块实现的比前者要好。epoll网络I/O模型是Nginx处理性能高的根本理由,但是并不
      是所有的情况下epoll大获全胜的,如果本身提供静态服务的就只有寥寥几个文件,apache的
      select模型或许比epoll更高性能。
      作为WEB服务器,相比Apache,Nginx使用更少的资源,支持更多的并发连接,体现更高的效率
   ,这点使得Nginx尤其受到虚拟主机提供商的欢饮,在高并发的情况下,Nginx是Apache服务器不错
   的替代品,Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一,能够支持高达50000
   个并发连接的相应。

      Nginx作为负载均衡服务器:Nginx既可以在内部直接支持Rails, PHP程序对外进行服务,也可
   以作为HTTP代理服务器对外进行服务,Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率
   都比Perlbal要好很多。
Nginx配置简洁,Apache配置复杂
Nginx静态处理性能比Apache高3倍以上。
Apache对PHP支持比较简单,Nginx需要配合其他后端用
Apache的组件比Nginx多
最核心的区别是apache的同步多进程模型,一个连接对应一个进程,Nginx是异步的,多个连
接(万级别)可以对应一个进程。

Nginx处理静态文件好,耗费内存少

Nginx处理动态文件请求时鸡肋,一半动态请求要apache去做,Nginx只适合静态和反向
Nginx优于Apache的主要有两点:
      1)Nginx本身就是一个反向代理服务器
      2)Nginx支持7层负载均衡
13个适用的Apache rewrite重写

      1:去掉域名中的www标记
      2:去掉www标记,但是保存子域名

建议方案:

      Apache 后台服务器(主要处理php及一些功能请求 如:中文url)

      Nginx  前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)

      Lighttpd 图片服务器(cpu占用率低,效能好,以及丰富的模块等特点。其静态文件的响应
               能力远高于Apache,可谓Web服务器的后期之秀。)

总体来说,随着nginx功能得完善将使他成为今后web server得主流。
总结(静态资源)
    Apache:
        优点:
            1)Apache的兼容性和稳定性都是非常强
            2)Apache 的模块比 Nginx/Lighttpd丰富
            3)Apache在处理动态请求比Nginx/Lighttpd更有优势
        缺点:
            属于重量级web服务器(重量级主要是在软件包的大小上比较大,软件的耦合
            度大)在速度、性能不及其他轻量级web服务器,并且消费内存较高。使用传统的
            select模型,比较稳定的Prefork模式为多进程模式,需要经常派生子进程。所以
            消耗的cpu等服务器资源比较大。


    Lighttpd:
        优点:
            1)虚机的配置处理方式比 apache 直观,比Apache轻量
            2)轻量级web服务器,cpu占用低,效能好,模块丰富,对fastcgi支持非常好。
            3)支持高并发,和Nginx差不多,比apache性能高很多。
        缺点:
            稳定性没有Apache和Nginx高,bug相对较多
 

    Nginx:
        优点:
            1)轻量级,比apache 占用更少的内存及资源
            2)抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发
              下nginx 能保持低资源低消耗高性能
            3)高度模块化的设计,编写模块相对简单
            5)有Lighttpd的性能,且更稳定,没有其内存泄露问题;
            6)处理静态文件,索引文件以及自动索引,打开文件描述符缓冲。
        缺点:
            7)nginx处理动态请求是鸡肋,不如Apache;

    建议方案:
        Apache 后台服务器(主要处理php及一些动态请求);Nginx  前端服务器(高并发请求、
        静态资源、负载均衡、反向代理和前端Cache等)

Nginx + Apache动静分离

将配置Nginx实现动静分离,对php页面的请求转发给LAMP处理,而静态页面交给Nginx,以实现动静 分离。客户请求静态数据给Nginx,Nginx直接应答客户端,当请求动态数据到Nginx时,Nginx让客户 端去找LAMP,通过代理的方式,LAMP就和客户端连接了。

处理php的apache服务器

处理静态图片文件的Nginx服务器

Nginx + Apache实现动静分离

          Nginx的静态处理能力极强,但是动态处理能力不足,因此,在企业中常用动静分离技术,动静
      分离技术其实是采用代理的方式,在server{}段中加入带正则匹配的额location来指定匹配项。

nginxapachewebtree's People

Contributors

qiuqiuxiaomaomi avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.