iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >一文带你彻底搞懂Nginx反向代理
  • 690
分享到

一文带你彻底搞懂Nginx反向代理

nginx服务器运维shell反向代理 2023-09-20 19:09:03 690人浏览 独家记忆
摘要

一文带你彻底搞懂Nginx反向代理 一、什么是反向代理1.1 正向代理1.2 反向代理1.3 总结 二、配置反向代理2.1 准备 Tomcat2.2 配置 Nginx 一、什么是反

一文带你彻底搞懂Nginx反向代理

一、什么是反向代理

1.1 正向代理

举一个通俗的例子,因为众所周知的原因,我们无法访问谷歌,但是因为某些原因,我们必须要访问谷歌,这时候我们会买一个“梯子”,既然我们无法直接访问谷歌,我们就去麻烦“梯子”帮助我们访问。

事实上我们还是没法访问谷歌,只是这个“梯子”能够访问,它只是将访问结果返回给我们而已。这里的“梯子”就是一个正向代理,它是帮助客户端也就是我们用户来代理的。

1.2 反向代理

举个例子,你的手机号码出了点毛病,你要去找 10086 解决问题,但是最后接线员是谁你并不能确定,接线员是系统分配的,系统看哪位接线员有空就将你的电话转到他那边。这里的系统其实就是一个反向代理,大家都访问 10086,但是接线员每个人都不一样。

回到程序的世界中,如果 www.baidu.com 这个域名下的网站放在好几个服务器上(组建集群),如图所示:
在这里插入图片描述
用户访问 www.baidu.com 这个域名,但是具体访问哪一台服务器不需要用户关心,nginx 会帮助我们将我们的请求转发(forward)到某一台服务器上,然后将请求返回给用户。

1.3 总结

总结一下:

正向代理为客户端服务,对服务端是透明的

反向代理为服务端服务,对客户端是透明的

注:透明指不用关心对端的具体实现。

在这里插入图片描述

二、配置反向代理

上面说过 nginx 将请求转发给(应用)服务器,这里我们选择 Tomcat 作为应用服务器。

2.1 准备 Tomcat

我的系统里面原本就有一份 tomcat:

wxs@ubuntu:/usr/local$ lsbin  games    jdk1.8.0_161  man    Redis  share  tomcat8etc  include  lib           nginx  sbin   src    ZooKeeper-3.5.2-alpha

为了做实验,我复制两份,分别放置我的 www.jit.com 和 www.wxs.com:

分别修改两个 tomcat 首页以便区分:

wxs@ubuntu:/usr/local$ sudo vim tomcat8-jit/WEBapps/ROOT/index.jsp wxs@ubuntu:/usr/local$ sudo vim tomcat8-wxs/webapps/ROOT/index.jsp 

在这里插入图片描述
分别启动两个 tomcat:

root@ubuntu:/usr/local# tomcat8-jit/bin/startup.sh Using CATALINA_BASE:   /usr/local/tomcat8-jitUsing CATALINA_HOME:   /usr/local/tomcat8-jitUsing CATALINA_TMPDIR: /usr/local/tomcat8-jit/tempUsing JRE_HOME:        /usr/local/jdk1.8.0_161/jreUsing CLASSPATH:       /usr/local/tomcat8-jit/bin/bootstrap.jar:/usr/local/tomcat8-jit/bin/tomcat-juli.jarTomcat started.root@ubuntu:/usr/local# tomcat8-wxs/bin/startup.sh Using CATALINA_BASE:   /usr/local/tomcat8-wxsUsing CATALINA_HOME:   /usr/local/tomcat8-wxsUsing CATALINA_TMPDIR: /usr/local/tomcat8-wxs/tempUsing JRE_HOME:        /usr/local/jdk1.8.0_161/jreUsing CLASSPATH:       /usr/local/tomcat8-wxs/bin/bootstrap.jar:/usr/local/tomcat8-wxs/bin/tomcat-juli.jarTomcat started.

2.2 配置 Nginx

注释掉 location 节点中的 root 子节点
在 location 子节点中新增 proxy_pass 节点,值为要转发的url名字(任意起一个)
新增一个 upstream 节点,名字为刚刚设置的 url 名字
在 upstream 中新增 server 子节点,值为目标服务器 IP

在这里插入图片描述
另一个同理,完整配置如下:

upstream jit {    server 192.168.30.149:8090;}server {    listen       80;    server_name  www.jit.com;    #charset koi8-r;    #access_log  logs/host.access.log  main;    location / {        #root   www.jit.com;        proxy_pass Http://jit;        index  index.html index.htm;    }    #error_page  404              /404.html;    # redirect server error pages to the static page /50x.html    #    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   html;    }}upstream wxs {    server 192.168.30.149:8091;}server {    listen       80;    server_name  www.wxs.com;    #charset koi8-r;    #access_log  logs/host.access.log  main;    location / {        #root   www.wxs.com;        proxy_pass http://wxs;        index  index.html index.htm;    }    #error_page  404              /404.html;    # redirect server error pages to the static page /50x.html    #    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   html;    }}

配置完成后,启动 nginx 服务器,访问 www.jit.com 和 www.wxs.com:

在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_43860634/article/details/129194113

--结束END--

本文标题: 一文带你彻底搞懂Nginx反向代理

本文链接: https://www.lsjlt.com/news/413220.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 一文带你彻底搞懂Nginx反向代理
    一文带你彻底搞懂Nginx反向代理 一、什么是反向代理1.1 正向代理1.2 反向代理1.3 总结 二、配置反向代理2.1 准备 Tomcat2.2 配置 Nginx 一、什么是反...
    99+
    2023-09-20
    nginx 服务器 运维 shell 反向代理
  • 一文带你彻底搞懂Vuex
    大家可以思考一下,组件之间的传值有哪些?有父子通讯,兄弟组件通讯......但是传参对于多层嵌套就显得非常繁琐,代码维护也会非常麻烦。因此vuex就是把组件共享状态抽取出来以一个全局单例模式管理,把共享的数据函数放进vuex中,任何组件都可...
    99+
    2022-11-22
    Vue vue3 vue.js VueX
  • 一篇文章带你彻底搞懂Redis 事务
    目录Redis 事务简介Redis 事务基本指令实例分析Redis 事务与 ACID总结Redis 事务简介 Redis 只是提供了简单的事务功能。其本质是一组命令的集合,事务支持一...
    99+
    2022-11-13
    redis有几种部署方式 redis事务三大特性 redis怎么做到事务回滚
  • 一篇文章带你彻底搞懂Redis 事务
    目录Redis 事务简介Redis 事务基本指令实例分析Redis 事务与 ACID总结Redis 事务简介 Redis 只是提供了简单的事务功能。其本质是一组命令的集合,事务支持一次执行多个命令,在事务执行过程中,会顺...
    99+
    2024-04-02
  • 一文带你彻底搞懂JavaScript正则表达式
    目录正则表达式的概述什么是正则表达式正则表达式的作用正则表达式的特点正则表达式在js中的使用创建正则表达式测试正则表达式 test正则表达式中的特殊字符正则表达式的组成边界符字符类量...
    99+
    2024-04-02
  • 一篇文章带你彻底搞懂VUE响应式原理
    目录响应式原理图编译创建compile类操作fragment获取元素节点上的信息获取文本节点信息操作fragment响应式数据劫持收集依赖响应式代码完善Dep类全局watcher用完...
    99+
    2024-04-02
  • Nginx详解(一文带你搞懂Nginx)
    前言 最近进入了新篇章的学习,Nginx,特写下详细笔记与大家共享。 目录 前言一、Nginx是什么?二、Nginx的反向代理(扩展:正向代理)三、Nginx的负载均衡什么是负载均衡? 四、Nginx的动静分离!五、Nginx的...
    99+
    2023-08-30
    nginx 服务器
  • 一文彻底搞懂IO底层原理
    目录一、混乱的 IO 概念二、用户空间和内核空间三、IO模型3.1、BIO(Blocking IO)3.2、“C10K”问题3.3、NIO非阻塞模型3.4、IO多路复用模型3.4.1...
    99+
    2024-04-02
  • 带你彻底搞懂JavaScript的事件流
    目录DOM事件流事件冒泡事件捕获情景一:直接在HTML中绑定事件情景二:[domNode].onclick()方式——DOM0级情景三:[domNode].a...
    99+
    2024-04-02
  • Nginx配置详解,一文带你搞懂Nginx
    1 基本概念 1.1 Nginx简介 Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现好。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常...
    99+
    2023-08-18
    nginx 服务器 负载均衡
  • 一文带你彻底搞懂Docker中的cgroup的具体使用
    目录什么是cgroupcgroup的组成cgroup提供的功能限制cgroup中的CPU限制cgroup中的内存限制cgoup的进程数前言 进程在系统中使用CPU、内存、磁盘等计算资...
    99+
    2024-04-02
  • 一文让你彻底搞懂AQS(通俗易懂的AQS)
    一文让你彻底搞懂AQS(通俗易懂的AQS) 一、什么是AQS AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Se...
    99+
    2023-09-04
    java 开发语言
  • Java基础之让你彻底搞懂代理模式
    目录一、代理模式二、静态代理三、动态代理四、总结一、代理模式 什么是代理模式? 先来生活常用例子:你想买票,你没必要去车站买;而是可以去一个代售点,代售点代理车站卖票,这就是一个简单...
    99+
    2024-04-02
  • 一文彻底搞懂PHP进程信号处理
    本篇文章给大家带来了关于PHP的相关知识,其中主要详细介绍了PHP 进程信号处理,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。背景前两周老大给我安排了一个任务,写一个监听信号的包。因为我司的项目是运行在容器里边的,每次上线,需要重新打...
    99+
    2023-05-14
    进程 PHP
  • 一文彻底搞懂Kotlin中的协程
    产生背景 为了解决异步线程产生的回调地狱 //传统回调方式 api.login(phone,psd).enquene(new Callback<User>(){ ...
    99+
    2024-04-02
  • 一文彻底搞懂Python中__str__和__repr__
    __str__和__repr__有什么异同字符串的表示形式我们都知道,Python的内置函数 repr()​ 能够把对象用字符串的形式表达出来,方便我们辨认。这就是“字符串表示形式”。repr()​ 就是通过 __repr__​ 这个特殊方...
    99+
    2023-05-14
    Python 函数 内置
  • 一文带你彻底搞懂Behavior实现复杂的视觉联动效果原理
    目录1、什么是 Behavior ?2、Behavior 接口的重要方法2.1 Behavior 生命周期相关的回调方法2.2 子控件着色相关的回调方法2.3 测量和布局相关的回调方...
    99+
    2023-05-17
    Behavior复杂视觉联动 Behavior 视觉联动
  • 一文带你搞懂什么是Nginx服务器
    目录一、Nginx是什么?二、Nginx的反向代理(扩展:正向代理)三、Nginx的负载均衡什么是负载均衡?四、Nginx的动静分离!五、Nginx的安装windows版本下的安装下...
    99+
    2023-05-15
    Nginx Nginx服务器
  • 一文彻底搞懂Vue的MVVM响应式原理
    目录前言Vue的MVVM原理创建一个html示例在MVue.js中创建MVue入口创建Compile1.处理元素节点compileElement(child)2.处理文本节点comp...
    99+
    2024-04-02
  • 一篇文章彻底搞懂jdk8线程池
    这可能是最简短的线程池分析文章了。 顶层设计,定义执行接口 Interface Executor(){ void execute(Runnable command); ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作