近日,俄罗斯的两位开发者忽然被捕,其中一人是风靡全球的网页服务器 Nginx 之父 Igor Sysoev。警方给出的理由是二人涉嫌项目侵权。这个项目指的是网页服务器Nginx,是 Igor Sysoev 15 年前在老东家任职期间利用业余时间开发的。前端
那么,Nginx到底是什么?nginx
Nginx 是一款轻量级的 Web 服务器/反向代服务器及电子邮件代理服务器,在 BSD-like 协议下发行,有着占有内存少和并发能力强的特色,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。国内不少企业都会 nginx 网站,包括百度、京东 、新浪、网易、腾讯、淘宝等这些 Top 级公司。web
2019 年 2 月,NGINX 最终取代 Apache HTTPD,成为互联网上部署最普遍的服务器。据 Netcraft 在 2019 年 12 月的 Web 服务器调查显示,NGINX 的市场份额高达 38%。后端
目前,Nginx 已经成为风靡全球的服务器,BAT、Facebook都将其做为企业 IT 架构的一部分。性能优化
因为Nginx的根源在于大规模的性能优化,所以在基准测试中,Nginx的性能一般会优于其余流行的Web服务器,尤为是在静态内容和/或并发请求很高的状况下,这就是一般使用Nginx为其托管提供动力的缘由。服务器
Nginx如何工做?架构
Nginx的目的提供低内存使用率和高并发性。Nginx不会为每一个Web请求建立新的流程,而是使用异步事件驱动的方法,在单个线程中处理请求。并发
使用Nginx,一个主进程能够控制多个工做进程。主进程维护工做进程的过程,而工做进程则进行实际的操做。因为Nginx是异步的,所以每一个请求均可以由工做进程并发执行,而不会阻止其余请求。负载均衡
Nginx中常见的一些功能包括:异步
正向代理
正向代理:内网服务器主动去请求外网的服务的一种行为。
正向代理其实就是说客户端没法主动或者不打算完成主动去向某服务器发起请求,而是委托了nginx代理服务器去向服务器发起请求,而且得到处理结果,返回给客户端。
反向代理
反向代理:reverse proxy,是指用代理服务器来接受客户端发来的请求,而后将请求转发给内网中的上游服务器,上游服务器处理完以后,把结果经过nginx返回给客户端。
反向代理是对于来自外界的请求,先经过nginx统一接受,而后按需转发给内网中的服务器,而且把处理请求返回给外界客户端,此时代理服务器对外表现的就是一个web服务器,客户端根本不知道“上游服务器”的存在。
负载均衡
将服务器接收到的请求按照规则分发的过程,称为负载均衡。负载均衡是反向代理的一种体现。
静态服务器
如今不少项目经常使用前端服务器和后端服务器分离,分别部署,这样的方式能让先后端人员能各司其职,不须要互相依赖,而先后分离中,前端项目的运行是不须要用Tomcat、Apache等服务器环境的,所以能够直接用nginx来做为静态服务器。
静态服务器的配置以下,其中关键配置为:
root:直接静态项目的绝对路径的根目录。
server_name : 静态网站访问的域名地址。