Apache和Nginx的区别

区别:

  1. Apache功能强大在PHPinfo的支持下有各种扩展,稳定性强,性能也稳定。
  2. Nginx在稳定性方面相比较差,功能相比较少,但是轻量级,比Apache占用更少的内存及资源
  3. 但在抗高并发方面,Nginx表现突出,原因是Nginx借用了网络编程中的异步非阻塞模式,多个(万级别)连接对应一个进程,而Apache同步阻塞模型,一个连接请求对应一个进程
  4. Nginx处理静态文件好,比Apache处理性能高3倍以上,(Nginx中存在一个expire模块)
  5. Apache的rewrite比Nginx的rewrite强大

 

 

选择Nginx的理由:

  1. Nginx对静态资源的处理能力强大,负载性能好,所以我会选择让Nginx作为前端的服务器,而Apache对PHP的支持很好,发展时间相对nginx久bug少,但是Apache有不支持多核心处理负载的缺点,所以前端Nginx,Apache作为后端的服务器.大型网站建议用Nginx自带的集群功能(负载均衡)
  2. 你对web server的需求决定你的选择。大部分情况下nginx都优于APACHE,比如说静态文件处理、PHP-CGI的支持、反向代理功能、前端Cache、维持连接等等。在Apache+PHP(prefork)模式下,如果PHP处理慢或者前端压力很大的情况下,很容易出现Apache进程数飙升,从而拒绝服务的现象。 
  3. 得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。

 

posted @ 2018-11-23 00:41  bearcoder  阅读(632)  评论(0)    收藏  举报