阅读(6542)

nginx和apache的简介

最后一次修改 2018年05月07日

一、服务器介绍

1、apache

           apache是世界上第一的服务器,据统计世界上百分之五十以上的web服务器都在使用apache

apache 的特性:

1) 几乎可以运行在所有的计算机平台上.

2) 支持最新的http/1.1协议

3) 简单而且强有力的基于文件的配置(httpd.conf).

4) 支持通用网关接口(cgi)

5) 支持虚拟主机.

6) 支持http认证.

7) 集成perl.

8) 集成的代理服务器

9) 可以通过web浏览器监视服务器的状态, 可以自定义日志.

10) 支持服务器端包含命令(ssi).

11) 支持安全socket层(ssl).

12) 具有用户会话过程的跟踪能力.

13) 支持fastcgi

14) 支持java servlets

2、nginx

          1、Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engineX”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发.

          2、nginx做为HTTP服务器,有以下几项基本特性:

处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.

无缓存的反向代理加速,简单的负载均衡和容错.

FastCGI,简单的负载均衡和容错.

模块化的结构。

Nginx具有很高的稳定性。

Nginx支持热部署

一、apache与nginx的区别:

        1、二者最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程 。nginx处理静态文件好,耗费内存少.但无疑apache仍然是目前的主流,有很多丰富的特性.所以还需要搭配着来.当然如果能确定nginx就适合需求,那么使用nginx会是更经济的方式。

        2、nginx的负载能力比apache高很多。最新的服务器也改用nginx了。而且nginx改完配置能-t测试一下配置有没 有问题。

        3、apache重启的时候发现配置出错了,会很崩溃,改的时候都会非常小心翼翼现在看有好多集群站,前端nginx抗并发,后端apache集群, 配合的也不错。

        4、nginx处理动态请求是鸡肋,一般动态请求要apache去做,nginx只适合静态和反向。

        5、从经验来看,nginx是很不错的前端服务器,负载性能很好,nginx,用webbench模拟10000个静态文件请求毫不吃力。 apache对php等语言的支持很好,此外apache有强大的支持网络,发展时间相对nginx更久,bug少但是apache有先天不支持多核心处理负载鸡肋的缺点,建议使用nginx做前端,后端用apache。大型网站建议用nginx自代的集群功能。


       6、大部分情况下nginx都优于APACHE,比如说静态文件处理、PHP-CGI的支持、反向代理功能、前端 Cache、维持连接等等。在Apache+PHP(prefork)模式下,如果PHP处理慢或者前端压力很大的情况下,很容易出现Apache进程数 飙升,从而拒绝服务的现象。

        7、Apache在处理动态有优势,Nginx并发性比较好,CPU内存占用低,如果rewrite频繁,那还是Apache吧!

        8、一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 吧。

二、apache与nginx优缺点比较

1、nginx相对于apache的优点: 
      轻量级,同样web 服务,比apache 占用更少的内存及资源 ;

抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 ;
       高度模块化的设计,编写模块相对简单 ;
       社区活跃,各种高性能模块出品迅速啊 ;
      Nginx本身就是一个反向代理服务器 ,Nginx支持7层负载均衡;Nginx可能会比apache支持更高的并发,
      nginx配置文件写的很简洁,正则配置让很多事情变得简单运行效率高,占用资源少,代理功能强大,很适合做前端响应服务器 !

2、apache 相对于nginx 的优点: 

rewrite ,比nginx 的rewrite 强大 ;
       模块超多,基本想到的都可以找到 ;
       少bug ,nginx 的bug 相对较多 ;
       超稳定 ,Aapche依然是大部分公司的首先,因为其成熟的技术和开发社区已经 也是非常不错的性能。

  三、为什么现在 Nginx 才是 Web 服务器的首选 

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

现在 Nginx 才是 Web 服务器的首选 ,也可二者混合使用。