原副标题:nginx控制技术撷取
热烈欢迎出访中文网站介绍更多:TOPView 官网,热烈欢迎完全免费试玩! 官网: http://topview.topcheer.com/index.html 完全免费试玩: http://topview.topcheer.com/DEMO.html 进行咨询热线电话:800-820-10271. nginx概要
· Nginx (engine x) 是两个高效能的HTTP和逆向全权web服务器,同时也提供更多了IMAP/POP3/SMTP服务项目。
· Nginx是由米哈伊尔·赛索诺夫为白俄罗斯出访量第三的Rambler.ru公交站点(俄语:Рамблер)合作开发的,申明版1.19.6正式发布于2020年12月15日。
· 其将源码以类BSD许可的方式正式发布,因它的灵活性、多样的目褐、单纯的命令行和低计算天然资源的耗用而闻名于世。2022年01月25日,nginx 1.21.6正式发布。
· Nginx是这款轻量级的Web 伺服器/逆向伺服器端及邮件(IMAP/POP3)伺服器端,在BSD-like 协定下发行。其特征是占据缓存少,mammalian潜能强,实际上nginx的mammalian潜能在同类型的页面伺服器中表现良好。
2.使用情景
2.1 HTTP 伺服器
Nginx 做为 Web 伺服器能分立提供更多 Http 服务项目。除此之外,他们经常透过 Nginx 做为动态天然资源伺服器来出访伺服器上的动态天然资源,比如说对于新一代炙手可热的其间端分立构架,后端打赢TNUMBERZG间接放在某一门牌号,在 Nginx 实用性后能透过 Nginx 来出访PS3上的后端页面。
2.2 全权
(1)萨德基全权:如果把以太网外的Internet想像成两个非常大的深外,则以太网中的应用程序要出访Internet,则须要透过伺服器端来出访,这种伺服器端就称作萨德基全权。
(2)逆向全权:只不过应用程序对全权是无交互的,因为应用程序不须要任何人实用性就能出访,他们只须要将允诺发送至逆向全权服
要量:
2.3 负载均衡
负载均衡也是 Nginx 的两个高频使用情景,对于下游存在的多个相同服务项目,能将允诺采用某种策略(随机、轮询、权重)发到相应的服务项目处理。这样由于多个相同服务项目的存在,能实现高可用功能,在两个服务项目不可用时,Nginx 会自动发现并将其剔出服务项目集群,将允诺转发给正常的服务项目进行处理。
要量:
2.4动静分立
为了加快中文网站的解析速度,能把动态页面和动态页面由不同的伺服器来解析,加快解析速度。降低原来单个伺服器的压力。
3. nginx优点
1. 高效能、高稳定、低天然资源耗用
Nginx 的进程模型采用了 Master/Workers 进程池的机制,即通常情况下,Nginx 会启动两个 Master 进程(当然,也能无 master 进程)和多个 Worker 进程对外提供更多服务项目。Master 进程是监控进程,本身并不处理具体的 TCP 和 HTTP 允诺,只负责接受 UNIX 信号,管理 Worker 进程,类似于管理者。
2. 高可扩展性
Nginx 的构架设计是非常优秀的,极具扩展性,它完全由多个不同功能、不同层次、不同类型且耦合度极低的模块组成。
3. 热部署
支持热部署功能是 Nginx 的两个特色,许多大型门户中文网站要求 24 小时不间断提供更多服务项目,一旦出现服务项目停止,容易造成用户投诉和用户流失。Nginx 由于其管理进程和 Worker 进程的分立设计,使得其能提供更多热部署功能,满足大型公交站点在 7×24 小时不间断服务项目的前提下升级 Nginx。
4. 开源和完全免费
Nginx开源且完全免费。在如今的时代,开源才能有力地成长,完全免费才能让更多的企业和个人合作开发者使用。 当然 Nginx 也有它的商业版 Nginx plus,它有着更为多样的功能和应用情景。
5.核心功能
在支持高mammalian允诺的同时保持高效的服务项目。而这一点正是广大合作开发者,也是各大企业迫切须要满足的需求,以应对日益庞大的国内互联网用户群体。
6.Nginx命令行
第一部分:全局块
从命令行开始到events块之间的内容,主要会设置一些影响Nginx伺服器整体运行的实用性指令,主要包括:实用性运行Nginx伺服器的用户(组)、允许生成的 worker process 数,进程PID存放路径、日志存放路径和类型以及命令行的引入等。
上面这行 worker_processes 实用性,是 Nginx 伺服器mammalian处理服务项目的关键实用性,该值越大,能支持的mammalian处理量也越多,但是会受到硬件、软件等设备的约束。
第三部分:events 块
events 块涉及的指令主要影响Nginx伺服器与用户的网络连接,常用的设置包括:是否开启对多 work process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接允诺,每个 work process 能同时支持的最大连接数等
上述例子就表示每个 work process 支持的最大连接数为 1024。这部分的实用性对Nginx的性能影响较大,在实际中应该灵活实用性。
第三部分:http 块
这部分是 Nginx 伺服器实用性中最频繁的部分,全权、缓存和日志定义等绝大多数功能和第三方模块的实用性都在这里。需要注意的是:http 块也能包括 http 全局块、server 块。下面的逆向全权、动静分立、负载均衡都是在这部分中实用性
http 全局块:http 全局块实用性的指令包括:文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接允诺数上限等。
server 块:这块和虚拟PS3有密切关系,从用户角度看,虚拟PS3和一台分立的硬件PS3是完全一样的,该控制技术的产生是为了节省互联网伺服器硬件成本。
location 块
两个 server 块能实用性多个 location 块。
这块的主要作用是:基于 Nginx 伺服器接收到的允诺字符串(例如 server_name/uri-string),对虚拟PS3名称(也能是 IP 别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的允诺进行处理。门牌号定向、数据缓存和应答控制等功能,还有许多第三方模块的实用性也在这里进行。
Nginx逆向全权实例
逆向全权实例
实现效果:使用 Nginx 逆向全权,出访当前nginxPS3ip间接跳转到127.0.0.1:8080
注意:此处如果要想从当前nginxPS3ip跳转到指定的ip,须要修改本机的hosts文件。此处略过
实用性代码
实用性解析:nginx 逆向全权服务项目监听nginx的80端口,如果有允诺过来,则转到proxy_pass实用性的对应伺服器上,仅此而已。
在location下,同时实用性root和proxy_pass选项时,两个选项只会二选一执行
此处不能实用性https逆向全权
图示:
逆向全权前:
逆向全权后: