今天和大家聊聊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来检测,以我的博客为例如下图所示。