nginx配置反向代理有何作用?使用场景有哪些?

XIAO 2020-05-06 17:58:04 java常见问答 9172

在什么情况下我们会用到nginx配置反向代理呢?有了解过nginx配置反向代理有什么作用了吗,我们经常会用到那些地方呢?下面有兴趣了解的朋友们一起来跟小编看看吧。

nginx是俄罗斯人编写的十分轻量级的HTTP服务器nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时它也是一个IMAP/POP3/SMTP代理服务器。nginx是由俄罗斯人Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过两年半了。Igor Sysoev在建立的项目时,使用基于BSD许可。

总结起来nginx有三大优点:性能高、轻量级、易操作。

nginx的使用场景有如下几点:

反向代理

负载均衡

动静分离

反向代理:反向代理(ReverseProxy)就是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,简单来说就是真实的服务器不能直接被外部网络访问,想要访问必须通过代理。

反向代理的作如下所示:

防止主服务器被恶意攻击;为负载均衡和动静分离提供实现支持;

负载均衡:使用反向代理同时代理多个相同内容的应用服务器(比如tomcat),将客户端请求分发到各个应用服务器上并接收响应返回给客户端。

负载均衡的作用:当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该服务器。这样一来的话,用户的每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。

动静分离:运用nginx的反向代理功能分发请求:所有动态资源的请求交给应用服务器,而静态资源的请求(例如图片、视频、CSS、JavaScript文件等)则直接由nginx返回到浏览器

动静分离的作用:主要是nginx处理静态页面的效率是远远高于tomcat的处理能力的,使用c语言开发的nginx对静态资源每秒的吞吐量是使用Java语言开发的tomcat的6倍,也远高于其它应用服务器。

总而言之:nginx应用之所以广泛,其实这也归功于它的灵活配置,一个nginx.conf文件解决了大部分的问题,不管是nginx创建虚拟服务器、nginx的反向代理服务器,还是nginx的负载均衡,几乎都是在这个配置文件中进行的。服务器上只负责把nginx搭好,跑起来就可以了。并且它本身是轻量级的,不会需要占用服务器太多资源就可以达到较好的效果,是一个比较值得推崇的服务器呢。

好了,以上就是本篇文章的所有内容了,还想了解更多java入门知识,记得来关注本站消息即时获取相关信息哦。