NGINX,发音类似于“engine-ex”,是一个开源Web服务器,自从它最初作为Web服务器成功以来,现在也被用作反向代理,HTTP缓存和负载均衡器。
一些使用NGINX的知名公司包括Autodesk,Atlassian,Intuit,T-Mobile,GitLab,DuckDuckGo,微软,IBM,Google,Adobe,Salesforce,VMWare,Xerox,LinkedIn,思科,Facebook,Target,Citrix Systems,Twitter,Apple ,英特尔等等。
NGINX最初由Igor Sysoev创建,于2004年10月首次公开发布.Igor最初将该软件设想为C10k问题的答案,这是处理10,000个并发连接的性能问题。
由于其根源在于大规模的性能优化,NGINX在基准测试中通常优于其他流行的Web服务器,特别是在具有静态内容和/或高并发请求的情况下。
NGINX如何工作?
NGINX旨在提供低内存使用率和高并发性。NGINX不是为每个Web请求创建新进程,而是使用异步的事件驱动方法,在单个线程中处理请求。
使用NGINX,一个主进程可以控制多个工作进程。主人维护工人流程,而工人则进行实际处理。因为NGINX是异步的,所以每个请求可以由worker同时执行而不会阻塞其他请求。
NGINX中的一些常见功能包括:
具有缓存的反向代理
IPv6
负载均衡
FastCGI支持缓存
WebSockets
处理静态文件,索引文件和自动索引
TLS/SSL with SNI
NGINX与Apache使用情况统计
Apache是另一种流行的开源Web服务器。根据W3Techs的说法,就原始数据而言,Apache是目前最受欢迎的Web服务器,47%的网站都使用已知的Web服务器。
虽然Apache是最受欢迎的整体选项,但NGINX实际上是高流量网站中最受欢迎的Web服务器。
当您按流量细分使用率时,NGINX会:
在100,000个最受欢迎的网站中占56.1%
10,000个最受欢迎的网站中的63.2%
1,000个最受欢迎的网站中的57%
事实上,NGINX被一些资源最密集的网站使用,包括Netflix,NASA甚至WordPress.com。
另一方面,Apache的使用方向与站点流量增加时的方向相反:
在100,000个最受欢迎的网站中占27.1%
10,000个最受欢迎的网站中的21.5%
1000个最受欢迎的网站中的16.2%
如果我们从2004年开始看看百度搜索术语,我们可以看到Apache一直在稳步下滑,而NGINX则略有增长。
NGINX与Apache
同样,当你认为NGINX在规模上表现更好时,高流量网站选择NGINX而不是Apache也就不足为奇了。
如何检查您是否正在运行NGINX或Apache
在大多数网站上,您只需检查serverHTTP标头即可查看是否显示NGINX或Apache。您可以通过在Chrome Devtools中启动网络标签来查看HTTP标头。或者您可以在Pingdom等工具中检查标题。
但是,HTTP标头可能并不总是显示底层Web服务器。例如,如果您的WordPress站点位于代理服务(如Cloudflare)后面,则serverHTTP标头将改为说明cloudflare。