您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
Nginx到底能做什么?
服务器,模块,缓存Nginx到底能做什么?
发布时间:2019-02-08加入收藏来源:互联网点击:
问题补充:
能全面说说Nginx到底能做什么吗?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
nginx可以作为web服务器、缓存服务器、HTTP代理服务器、负载均衡服务器。
什么是nginx
Nginx(发音为“ engine-x”)是一种开源软件,最初被设计为高性能Web服务器。今天,Nginx可以完成其他一些任务,包括缓存服务器,反向代理服务器,负载平衡器等等
web服务器
目前主流使用的web服务器软件,主要有apache、nginx、tomcat、iis等,在全球范围内来说,Apache是现有的最流行的Web服务器,但是在高流量网站中最流行的Web服务器确实nginx,在我国不管是大中小互联网公司,主流选择的也是nginx作为web服务器软件。一份来自Netcraft的调查中,发现Apache的使用率为31.54%,Nginx的使用率为26.20%。
HTTP代理服务器
HTTP代理,分两类:一种的正向代理,一种是反向代理。
反向代理。就是真实服务器不直接访问,而是通过代理进行访问,代理服务器和真实服务器是在同一个网络环境。对于访问来说是无感的,代理服务器对于访问者来说就是提供服务的服务器。基于nginx的反向代理,可以实现分布式(不同子域名访问不同的服务后端节点)和负载均衡(相同的域名访问多个相同的后端节点)反向代理和正向代理的区别:
正向代理:针对客户端而言,代理服务器代理客户端,转发请求,并将获得的内容返回给客户端。
反向代理:针对客户端而言,代理服务器就像是原始服务器,代理集群的web节点服务器返回结果。
负载均衡器
负载均衡也是Nginx常用的一个功能,基于nginx反向代理。负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。
Nginx目前支持自带3种负载均衡策略(轮询、加权轮询、IP哈希),还有2种常用的第三方策略(fair、url哈希)。
缓存服务器
nginx可以实现图片、css、js等静态资源文件的缓存,nginx作为缓存服务器时是搭配nginx作为反向代理服务器一起使用的。当客户端第一次通过nginx向后端资源服务器请求静态资源,响应给对应的客户端同时自身缓存一份,后续如果请求相同的资源,就不需要再次向后端服务器请求了,除非缓存被清理或者缓存过期。
结束语
nginx的几个功能很少单一使用,基本都是几个功能搭配混合在一起使用。做实际项目中,nginx一般作为七层负载均衡器,实现分布式架构和应用服务器高可用,还可以实现动静分离,同时缓存静态资源,减轻后端服务器负载。
由于nginx的模块化设计,通过第三方模块,还可以实现其他一些功能,以上都是nginx自带模块实现的,如果你还知道nginx可以实现哪些功能,欢迎在评论区留言!
文|技术猿小黄
图|来源于网络
我是技术猿小黄,很高兴为您回答,如果您喜欢我的回答,可以关注我,点个赞,谢谢!
回答于 2019-09-11 08:43:50
Nginx是一款高性能的HTTP和反向代理服务器,同时也支持邮件服务。因其内存占用小、高并发的特性使得在世界范围内使用广泛,像国内互联网大企业无一例外使用的就是Nginx,比如淘宝还基于Nginx开发了Tengine。
既然Nginx应用这么广泛,那它到底能干些啥呢?下面我列举一些场景来说明下Nginx的用途:
1、反向代理
在LNMP这种架构模式下,其实就用到了反向代理。因为Nginx它默认只支持静态资源的请求,比如说PHP脚本也不是由Nginx直接解析的,而是由Nginx反向代理(通过 proxy_pass 指令)到PHP-FPM去解析的。
所以我们通常在Apache、Tomcat、IIS之前加上Nginx,由Nginx反向代理到后端服务器上。
2、负载均衡
当我们的站点访问量大时,为了缓解单一应用服务器的压力我们通常会扩容多台服务器,此时如何把流量分发给不同服务器呢?通过Nginx就可以实现负载均衡了,Nginx负载均衡策略也很多,主要有:RR(轮询)、weight(权重)、ip_hash(IP Hash)、fair(后端服务器响应时间)、url_hash(URL Hash)这几种。
3、动静分离
Nginx本身只支持静态资源的处理,借助Nginx我们可以实现动静分离,即:将静态请求交给Nginx处理,将动态请求通过转发给后端服务器。
4、Nginx扩展
通过Nginx扩展可以实现很多功能,如:
图片在线裁剪;
请求合并;
资源压缩等。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!
回答于 2019-09-11 08:43:50
Nginx(发音同engine x)是一个高性能、跨平台的HTTP Server,也可以用作反向代理、负载均衡和HTTP缓存服务器。俄罗斯人Igor Sysoev(伊戈尔·赛索耶夫)在2004年开发的,Nginx是免费的开源软件,根据类BSD许可证的条款发布。目前全球约有50%的网站都是用Nginx做Web服务器。
Nginx的优点
1、开源免费
Nginx完全开源免费,可以轻松搭建HTTP服务。
相对传统收费的负载均衡器F5,用Nginx搭建负载均衡服务成本比较低。
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |