的序言说,nginx对它所使用的东西有一个大致的了解。许多公司使用反向代理、负载平衡、动态和静态分离、转发代理,当然还有防盗链具体的引擎是什么?事实上,互联网上已经有很多相关的资料。它是一个高性能的http和反向代理网络服务器,它是轻量级的,易于部署和理解。
body
nginx几种常用的策略简介
反向代理:反向代理也是我们在面试过程中经常被问到的,那么nginx实现就是一个典型的反向代理,nginx本身就是一个反向代理服务器,当互联网向nginx这个代理服务器发送请求时,Nginx就把收到的信息发送到内部网络服务器,而内部网络服务器通过反向代理服务器把信息发送回发送者。在这个过程中,nginx是一个反向代理服务器
反向代理的功能是什么:顾名思义通过以上所述,可以很容易地看出,请求者在这个过程中没有直接处理内存网络。这是什么意思?出于项目安全性的考虑,一般公司不允许外部网络直接访问内部服务器网络,因此安全性是反代的首要优势,并且有一个负载平衡策略,可以减轻服务器的压力,并在分发请求时发挥作用。
forward agent:当您说reverse agent时,您可能会在这里说forward agent。说前向代理实际上非常类似于反向代理。当许多客户端想要向代理服务器发送请求时,前向代理在接收到请求后将来自许多用户的请求发送到一个服务器,而反向代理在将来自许多用户的请求发送到目标服务器(代理服务器)后将数据推送到每个服务器,并将数据发送回每个服务器。通过查看下图,可以清楚地显示该过程。
图片来源于网络。从上图可以看出,转发代理是客户端请求代理服务器以统一的方式取回数据,然后将请求发送给客户端的过程。第二个反向代理是客户端向目标代理服务器发送请求的过程,代理服务器将请求分发到相关的内部网服务器,然后一个接一个地返回请求。本质的区别是一个是服务器,另一个是客户端。
负载平衡:负载平衡也常用于nginx的使用中。所谓的负载平衡是指客户端发送的请求通过其算法策略合理地分配给相关服务器,然后由服务器以统一的方式返回。从而防止所有的访问挤到一个服务器上。什么是
算法策略?事实上,网上有很多。这里,让我们简单地讨论一下
的默认轮询策略:nginx的默认策略是轮询策略,也就是说,访问请求将依次分配给后台的所有服务器。如果后台服务器的性能相同,则可以使用默认策略。当然,如果其中一个服务器被挂起,它也可以被自动拒绝以继续其他服务器的请求。
权重策略:权重策略是在轮询的基础上增加每台主机的权重,即主机请求的比率,这样可以为性能好的主机提供高比率,为性能差的主机提供低比率,例如物理机可以提高比率,而虚拟机可以降低比率,等等。
ip_Hash(ip分配):这种方法是根据请求的ip进行分配,并且请求的所有相同的ip将被分配给固定服务器。虽然这种方法可以解决会话问题,但是如果是内部网的网段使用的网络,请求将被发送到主机,所以本质上,会话共享问题仍然没有解决。至于会话共享,如果你感兴趣的话,你可以研究一下,这里就不介绍了。
第三方(url_hash和fair)策略:要使用此方法,您需要在使用之前部署相关的插件。此外,插件是由第三方公司开发的,这很难避免漏洞和升级相关问题。因此,许多公司仍然拒绝使用这一政策。如果你感兴趣,你可以深入研究它。
nginx profile模块简介
图片来自网络
从上图可以看到nginx profile模块,图片懒得设计,还是先用别人说吧
全局模块:可以看出,它用于存储用户组和pid的路径信息以及错误日志的配置路径信息。该模块通常是默认配置,不需要修改。
事件模块:该模块配置了最大连接数和网络连接的相关协调,在大多数情况下可以默认。
http模块:该模块包含大量内容,也是nginx使用中常见的重要模块,如连接时间、传输类型等信息。
服务器模块:配置请求的监听端口、错误页面和虚拟机配置
位置模块:请求目录配置,即访问url等。当然,
还有其他模块信息,如静态和动态分离的信息配置模块,包括nginx防盗链的配置等。此外,还有许多关于nginx预结算的细节。在这里,我只理解我所看到和使用的。感兴趣的人可以参加讨论。
结论:nginx作为一种开源的反生成工具,已经被许多公司改造成更强大的工具。例如,阿里使用的tengine就是一个基于它的转换,添加了很多支持。欢迎关注朱筠,谈论科技公益。加入讨论并学习