|
|
51CTO旗下网站
|
|
移动端

Apache和NGINX,Web服务器基础知识

今天和大家聊聊Apache和NGINX,它们是目前最流行的开源web服务器。一提到服务器,很多人的第一反应是虚拟主机、VPS主机、云主机,独立主机。

作者:1DENG来源:一灯外贸|2018-10-23 09:58

今天和大家聊聊Apache和NGINX,它们是目前最流行的开源web服务器。

一提到服务器,很多人的第一反应是虚拟主机、VPS主机、云主机,独立主机。

其实虚拟主机、VPS主机、云主机,独立主机叫web主机,而web主机和web服务器是两回事。

在正式开始介绍Apache和NGINX之前,我先帮大家梳理一下这方面的知识,只要你开始自建站,迟早有一天,你会接触到这些。

从本质上讲,web服务器是一个软件的概念,之所以会以web命名,也是在和电脑主机做区分,翻译过来的话全名叫网站服务器,是建站的必备工具。

而作为一个软件,要管理这么多文件,实现各种各样的功能,就会有操作系统,这也是为什么平时我们看主机时会有linux和windows的区分,而linux和windows指的正是web服务器的操作系统。

那web主机和web服务器的区别是什么?

简单的说,web主机和web服务器是卧室与房子的关系,所以叫的模糊一点,主机也就是服务器。

它们都能提供网站的托管服务,只不过服务器可以切分为很多主机,而浏览器是客户端,一旦从浏览器请求服务,再反射回来服务器里的内容,就是我们平时看到的网站。

前戏结束,接下来重点介绍今天的正题,Apache和NGINX。

什么是Apache web服务器?

Apache是目前最流行,开源,跨平台的web服务器,全球有接近一半的服务器都使用Apache,全部由Apache Software Foundation负责维护。

查阅相关资料,使用Apache的知名公司有很多,它们是LinkedIn,Facebook,惠普,思科,IBM,通用电气,Adobe,AT&T,西门子,eBay等等。

除了受欢迎,Apache还是最早的web服务器之一,第一个版本早在1995年就已发布。

需要注意的是,目前大多数使用cPanel的虚拟主机都使用Apache。

Apache Web服务器可以添加多功能模块,比较常见的是:

  • .htaccess
  • IPv6
  • FTP
  • HTTP/2

什么是NGINX web服务器?

NGINX,读作“engine-ex”,是一个开源web服务器,除了有web服务器的功能,现在也被用作反向代理,HTTP缓存和负载均衡器。

查阅相关资料,使用NGINX的知名公司有很多,它们是微软,Google,苹果,英特尔,Twitter,GitLab, DuckDuckGo等等。

NGINX最早由Igor Sysoev创建,用于解决10,000个并发连接的性能问题,使用NGINX,一个主进程可以控制多个工作进程。

NGINX比较常见的一些功能包括:

  • 反向代理
  • IPv6的
  • 负载均衡
  • WebSockets
  • 处理静态文件,索引文件和自动索引
  • 带SNI的TLS / SSL

NGINX和Apache哪个更好?

根据W3Techs的说法,Apache是目前最受欢迎的Web服务器,全球45.4%的网站都使用Apache的web服务器。

虽然Apache整体来说占比高,但在高流量网站中确是NGINX比较受欢迎。

如果用网站流量来排名Apache的使用率,如上图所示。

  • 前百万网站的使用率为36.3%
  • 前十万网站的使用率为25.5%
  • 前一万网站的使用率为19.9%
  • 前一千网站的使用率为16.4%

如果用网站流量来排名NGINX的使用率,正好与Apache相反。

  • 前百万网站的使用率为47.8%
  • 前十万网站的使用率为58.4%
  • 前一万网站的使用率为65.2%
  • 前一千网站的使用率为59.3%

说到这,我相信大家都明白网站流量来的时候应该怎么选择服务器了,当然我以后也会写一篇主机的使用顺序,相信一定会对大家有所帮助。

至于如何检测你的网站使用的是哪种web服务器,可以使用Pingdom或GTmetrix来检测,以我的博客为例如下图所示。

【编辑推荐】

  1. 图解HTTP与HTTP协作的Web服务器
  2. Java程序员需知:企业开发中Web服务器与应用服务器的区别联系
  3. 利用Nginx轻松搭建高性能负载均衡服务器集群
  4. 浅谈Nginx负载均衡与F5的区别
  5. Nginx 之大并发服务器架构实战技法三
【责任编辑:武晓燕 TEL:(010)68476606】


点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

读 书 +更多

SQL实用简明教程(第2版)

SQL(结构化查询语言)是数据库系统的通用语言,利用它可以用几乎同样的语句在不同的数据库系统上执行同样的操作,在数据库系统的开发中有着...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊