必威体育Betway必威体育官网
当前位置:首页 > seo技术

Apache和Nginx服务器的区别 网络服务器技术如何选择

时间:2020-03-19 10:45:03来源:seo技术作者:seo实验室小编阅读:0次「手机版」
 

   我们上一期讨论了关于数据库的相关问题,那么服务器如何选择,目前流行的网络服务器技术有:Microsoft IIS、Apache和nginx,今天为大家分享一下 Apache和Nginx服务器的区别,网络服务器技术如何选择?

 
  Apache和Nginx服务器的区别
 
  在相对比较大的网站,节约下来的服务器成本无疑是客观的。而有些小型网站往往服务器不多,如果采用Apache这类传统Web服务器,似乎也还能撑过去。但有其很明显的弊端:Apache在处理流量爆发的时候(比如爬虫或者是Digg效应)很容易过载,这样的情况下采用Nginx最为合适。
 
  建议方案:
 
  Apache后台服务器(主要处理php及一些功能请求如:中文url)Nginx前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)Lighttpd图片服务器
 
  总体来说,随着Nginx功能得完善将使他成为今后web server得主流。
 
  网络服务器技术如何选择
 
  微软的这个IIS比较好选择,如果你用微软的技术,比如ASP.net,ASP.net core的话,IIS肯定是你最好的选择了。
 
  除此之外的服务器技术选择, 用Apache还是nginx就有点儿争论了。
 
  首先Apache是以进程为驱动的设计,nginx是以事件为驱动的设计。
 
  假设我们现在每秒钟有大量的请求过来, 在实际的应用中,这意味着:
 
  Apache对每个请求都会创建一个进程, 因此请求越多,进程创建的也越多,那么整体网站的性能也就越低。这是因为每个进程都会占用一定的资源,当进程越来越多的时候,对于整个服务器的性能消耗都是一个很大的影响。当从外部境内的请求持续增长的时候,Apache服务器就会变得越来越慢,处理的越来越吃力了。因为处理的变慢了,就会导致有更多的请求积压下来,从而导致性能进一步降低。这就形成了恶性的循环。
 
  nginx是用另外一种方式来处理请求的。当请求处理达到一个峰值的时候,会要求这些请求等待,当有空间的时候再放进来。这就是基于事件为导向的处理方式。因为事件消耗的资源,要比进程消耗的资源小的多的多,所以nginx,在同等性能的条件下能够处理4倍于Apache服务器的请求。
 
  那么到这一步,你是不是觉得以后有这种抉择的时候一定要用nginx了? 这个也不尽然。这是因为Apache这门技术已经存在很久了, 上面的那些问题被业界也已经熟识了,因此大家在使用Apache服务器的时候,并不仅仅使用这一门技术,还要使用很多的插件来改善服务器的性能。这是因为这些插件的存在才大大的扩展了Apache服务器的灵活性。这些灵活性的体现之一是可以支持对多种脚本的使用。
 
  当然nginx也在不断的发展,它有一门技术叫nginx unit可以使用rest API的方式来配置各种脚本服务器。从而在灵活性上大大提高了。
 
  那么总结一下,
 
  如果你对请求的性能处理不是特别高, 可以使用Apache。如果你特别注重性能的话,可以选择nginx。如果你有一些现有的技术在使用Apache的话,可以继续使用插件的方式来平衡性能以及增强灵活性。
 
  如果你特别注重扩展性和灵活性的话, Apache似乎也是一个不错的选择。
 
  nginx unit可以帮助你提高扩展性和灵活性, 具体是否够用,还要看你具体的项目情况。
 
  上面只是我个人对这个话题的一点心得体会,分享给大家,希望与大家讨论,共同提高,欢迎拍砖。
分享到:

栏目导航

推荐阅读

热门阅读