Nginx到底能做什么?
nginx可以作为web服务器、缓存服务器、HTTP代理服务器、负载均衡服务器。
什么是nginxNginx(发音为“ engine-x”)是一种开源软件,最初被设计为高性能Web服务器。今天,Nginx可以完成其他一些任务,包括缓存服务器,反向代理服务器,负载平衡器等等
web服务器目前主流使用的web服务器软件,主要有apache、nginx、tomcat、iis等,在全球范围内来说,Apache是现有的最流行的Web服务器,但是在高流量网站中最流行的Web服务器确实nginx,在我国不管是大中小互联网公司,主流选择的也是nginx作为web服务器软件。一份来自Netcraft的调查中,发现Apache的使用率为31.54%,Nginx的使用率为26.20%。
代理,分两类:一种的正向代理,一种是反向代理。
反向代理。就是真实服务器不直接访问,而是通过代理进行访问,代理服务器和真实服务器是在同一个网络环境。对于访问来说是无感的,代理服务器对于访问者来说就是提供服务的服务器。基于nginx的反向代理,可以实现分布式(不同子域名访问不同的服务后端节点)和负载均衡(相同的域名访问多个相同的后端节点)
正向代理。与反向代理类似。不同的是正向代理是客户端的代理。对于服务端来说,代理就是一个访问者。网上寻找的HTTP代理就属于正向代理
反向代理和正向代理的区别:
正向代理:针对客户端而言,代理服务器代理客户端,转发请求,并将获得的内容返回给客户端。
反向代理:针对客户端而言,代理服务器就像是原始服务器,代理集群的web节点服务器返回结果。
负载均衡器负载均衡也是Nginx常用的一个功能,基于nginx反向代理。负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。
Nginx目前支持自带3种负载均衡策略(轮询、加权轮询、IP哈希),还有2种常用的第三方策略(fair、url哈希)。
缓存服务器nginx可以实现图片、css、js等静态资源文件的缓存,nginx作为缓存服务器时是搭配nginx作为反向代理服务器一起使用的。当客户端第一次通过nginx向后端资源服务器请求静态资源,响应给对应的客户端同时自身缓存一份,后续如果请求相同的资源,就不需要再次向后端服务器请求了,除非缓存被清理或者缓存过期。
结束语nginx的几个功能很少单一使用,基本都是几个功能搭配混合在一起使用。做实际项目中,nginx一般作为七层负载均衡器,实现分布式架构和应用服务器高可用,还可以实现动静分离,同时缓存静态资源,减轻后端服务器负载。
由于nginx的模块化设计,通过第三方模块,还可以实现其他一些功能,以上都是nginx自带模块实现的,如果你还知道nginx可以实现哪些功能,欢迎在评论区留言!
文|技术猿小黄图|来源于网络我是技术猿小黄,很高兴为您回答,如果您喜欢我的回答,可以关注我,点个赞,谢谢!