Nginx专题(1):Nginx之反向代理及配置
off999 2025-01-14 16:25 30 浏览 0 评论
一、Nginx概念解读
对于新事物的理解,最好的方式就是从概念入手,本文作为《Nginx专题》系列文章的第一篇,先从Nginx的名称开始来分解这个神秘的引擎。
Nginx,是engine X的缩写,发音也是'engine x',2004年由俄罗斯大神伊戈尔·赛索耶夫开发,提供了高性能而易用的HTTP反向代理功能。后期还加入了TCP的反向代理支持。
最初Nginx是为了解决早年的C10K问题而生的。什么是C10K呢?C代表Client客户、10K代表10000,即一台服务器同时保持1万链接。这在当时是一个非常棘手的问题。
通过Google搜索Nginx会得到以下解释:
Nginx是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。
从这句话中,我们可以得到下面几个关键:
- 异步框架
- 反向代理
- 负载均衡
- HTTP缓存
本专题文章将分别从这几个关键词来解读Nginx的强大之处。本文先介绍Nginx特性之反向代理及其配置实现。?
二、反向代理
2.1 什么是反向代理
代理在生活中非常常见,房屋中介是代理、终端零售是代理、选举代表是代理。这些代理都可以帮助需求方减轻很多工作的复杂度,提升效率和体验。
网络里的代理服务是什么样子,我想各位读者也非常清楚,这里再简单回顾一下:假设我们想在公司上网看B站的视频,而规范的公司出于安全和办公效率的考虑,设置了网络策略,不允许访问视频网站,聪明的程序员不可能被这些事情所打败,只要购买一台云服务,搭建代理服务,把浏览器设置上代理,就可以轻松访问视频网站。这就是常见的代理。
那么现在问题来了:“代理”大家都懂,这里为什么强调是反向代理呢?难道还有正向代理?答案是肯定的。
正向代理就是大家常见的代理,以请求端也就是客户端的角度为正向,用户发出请求经过的代理,称为“正向代理”。这时是用户主动选择使用代理。
反向代理:先看图再解释。
主动权被反转,原来是客户端选择代理,现在是代理选择服务端节点。由于控制权的反转,这样的代理被称为“反向代理”。
2.2 反向代理的优点
1)保护服务安全
- 隐藏服务节点的IP;
- 将服务节点置于防火墙之后,避免直接攻击业务节点服务器。
2)服务节点更专注于业务,同时提升性能
- 由于有反向代理的存在,可以让反向代理服务器去实现比如https、gzip压缩等与业务无关的功能;
- 提供动静态分离,将静态文件发往静态服务器或本地文件系统,避免业务节点处理这些与业务无关的请求;
- 提供缓存机制,将一些短时间内不会变化的动态内容,在反向代理服务器这层增加缓存,降低业务服务器的请求量;
- 由于控制权在代理服务这边,完全可以根据服务节点的性能动态分配请求,做到服务节点性能最佳。
正是由于Ngxin引入了反向代理的特性,让请求和响应都要经过Nginx,因此给Nginx带来了非常多的可能。比如负载均衡、HTTP缓存等。
三、反向代理的配置
Nginx中关于反向代理的配置相当简单。
3.1 配置一个单节点的反向代理
# simple reverse-proxy
server {
listen 80;
server_name big.server.com;
access_log logs/big.server.access.log main;
# pass requests for dynamic content to rails/turbogears/zope, et al
location / {
proxy_pass http://127.0.0.1:8080;
}
}这里定义的规则是以big.server.com域名来请求Nginx的80端口,会将请求代理到127.0.0.1:8080上。
3.2 配置一组反向代理的服务节点。
1)配置一组反向代理并命名。
upstream big_server_com {
server 192.168.0.1:8000;
server 192.168.0.1:8001;
}这里定义了upstream,这个upstream可以理解为上传流,之所以叫上传是因为:从服务器获取数据叫下载,向服务器发送数据就叫上传,这里是将数据请求发送到服务节点,所以叫上传。
给这组服务节点命名为big_server_com,其中包括两个节点,分别是:192.168.0.1:8000和192.168.0.1:8001。
2)配置规则:让满足的请求能够反向代理到这组服务节点中。
server {
listen 80;
server_name big.server.com;
access_log logs/big.server.access.log main;
location / {
proxy_pass http://big_server_com;
}
}这里定义的规则是以big.server.com域名来请求Nginx的80端口,请求url是以/为后缀的所有请求,都会转发到前面定义的名字为big_server_com的服务节点组。
四、总结
本文从Nginx的概念出发,分别从反向代理的概念、优势、配置代码3个方面介绍了Nginx的特性之一反向代理。后续文章将继续介绍Nginx的另外三个特性:负载均衡、HTTP缓存、异步框架,敬请期待。
相关推荐
- 内存卡怎么强制格式化(内存卡强制格式化怎么操作)
-
方法一步骤/方式一以华为p10为例,打开手机设置,点击存储。步骤/方式二选择内存卡,点击格式化。步骤/方式三点击清空并格式化。步骤/方式四进行格式化。步骤/方式五成功格式化,点击完成。方法二步骤/方式...
- 南京华硕电脑售后维修服务网点
-
没有华硕的授权书,仅仅打了华硕的旗号,信誉度是有水分的.告诉你一个可信的华硕专卖:华海3楼,具体房号忘了.(明天可告诉你)店面不大,只经销华硕产品.------------------------...
- win7怎么升级到win8系统(win7怎么升级到win8.1)
-
可以。具体步骤如下:一.利用小马激活软件或KMS激活软件等激活系统。二.下载官方win10系统到电脑;或者:1.安装腾讯电脑管家,2.打开电脑管家,3.选择工具箱,4.选择其他,5.选择wi...
- 系统性红斑狼疮会遗传给下一代吗
-
系统性红斑狼疮具有一定的遗传性,建议最好到当地正规医院风湿免疫科就诊抽血检查一下明确诊断。系统性红斑狼疮是一种自身免疫性疾病,目前阶段还不能治愈,治疗方面主要采取口服糖皮质激素,免疫抑制剂,免疫调节剂...
- 国药董事长我打7针疫苗无惧病毒丶
-
国药集团中国生物北京生物制品研究所有限责任公司研发的疫苗,是一种新冠肺炎疫苗。该疫苗已经获得国际认可,世卫组织称其有效率高达79%,适合18岁以上人群接种。需要注意的是,国药疫苗的安全性和有效性需要经...
- 路由器wan口未连接是什么意思
-
无线网络连接上了,但WAN口未连接说明路由器可以正常发射wifi信号,但路由器本身没有连接到外网,所以还是上不了网,这种情况需要路由设置成功后才能实现带有WIFI功能的机器无线上网,解决方法如下:一...
- 可以看youtube的浏览器(youtube外网评论中国)
-
俄罗斯搜索引擎可以通过以下方式看视频:明确结论:俄罗斯搜索引擎可以通过在网站上搜索视频进行观看。解释原因:俄罗斯搜索引擎的网站提供视频搜索功能,用户可以在搜索框中输入关键词进行搜索,即可找到相关视频,...
- 惠普bios(惠普bios怎么进入)
-
机器型号不同,BIOS程序也不完全相同的,您从惠普官方网站上下载BIOS后,在系统中双击运行程序,根据屏幕提示操作,就可以了。 (1)连接外接电源适配器与电池,使电脑处于稳定供电的状态 (2)...
- 无线宽带和有线宽带的区别(无线宽带跟有线宽带有什么区别)
-
1.有区别2.无线网络是通过无线信号传输数据的网络,而有线网络是通过物理线缆传输数据的网络。无线网络的优点是可以随时随地连接,不受地理位置限制,方便移动设备的使用;缺点是信号受干扰影响较大,...
-
- 手机目前最强杀毒软件(手机目前最强杀毒软件有哪些)
-
目前排名第一的手机杀毒软件是手机管家,这个数据有一个机构已经公布了,你可以到网上了解一下。自己和朋友同事都在用这个手机杀毒软件,它的查杀功能不是一般的好,只要用它来查杀就没有解决不了的病毒,有了手机管家我们根本就不用担心自己手机中病毒了。1...
-
2026-01-09 07:51 off999
- 安卓解压缩软件(安卓解压缩软件tv)
-
手机无法直接解压exe格式的文件。因为exe格式通常是Windows操作系统下的可执行文件,而手机采用的是Android或iOS操作系统,无法直接运行Windows下的可执行文件。需要先在电脑上解压或...
- windows7资源管理器无限重启
-
⒈)首先排除电脑病毒的原因 如果电脑中病毒木马等容易导致病毒程度大量占用系统资源,最终导致系统资源不足,出现资源管理器重启,重启后短暂释放资源,但随着病毒程度又开始大量运行,最终很可能会出现网友描述...
- 路由大师(路由大师官网下载)
-
SYS本身闪的频率就比其他慢的这是系统的指示灯,你要检查的是WAN指示灯。有闪的话看看是不是欠费了如果是新买的路由器并且设置好了还是不行那么就是联通的网络比较常见,需要打电话给客服叫他们解开,MA...
- u盘中毒怎么彻底杀毒(u盘中毒如何处理)
-
1、首先保证电脑上安装有电脑维护软件,这样的软件很常用,下载安装一个在电脑上是必要的。 2、将u盘插入到电脑,这是电脑自动识别u盘并弹出小工具框。 点击查杀,凭这以专项功能将u盘进行杀毒。 ...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
