第一步,在Linux上安装两个tomcat,修改好端口号后,启动起来。

第二步,配置本地的DNS解析,即修改host文件:

第三步,配置Nginx配置文件

反向代理的配置虚拟主机配置差不多也要配置虚拟主机以拦截请求,但是响应的地址不再是本地的目录,而是引用代理设置中的地址:

具体解释:

先配置转发请求的真正服务地址,即真正响应服务的tomcat的地址和端口,

用 upstream + 自定义tomcat服务器的名称,然后里面是 server + tomcat的ip+端口

即:

然后配置请求拦截的虚拟主机:

其中的 server_name 还是拦截的请求域名,而和原来配置虚拟主机不一样的地方就是 location中,不再配置本地目录作为相应,而是用 proxy_pass  关键字来配置请求转发的服务器名称,具体格式为: proxy_pass  http:// + 服务器名称

其中的服务器名称就是我们在 upstream 中配置的 真正要提供服务的tomcat的 我们自定义的名称,即 tomcatserver1

这样,当前台请求 虚拟主机的拦截地址 8080.itheima.com时,虚拟主机就会将请求转发给真正的tomcat服务器 192.168.25.141:8080 来提供服务。

同理,再配置第二对请求的真正服务器 tomcatserver2 及 拦截请求的虚拟主机 server_name 8081.itheima.com

测试:

reload nginx的配置文件,然后访问

这样就实现了反向代理,即从表象上看,我们两个请求都是请求的同一个ip地址同样都是默认的80端口,但是服务器端实际上是用两个不同的tomcat来响应的。

因为我们前面在host中配置的是同一个ip,而且没有配端口(后面的8080和8081后面都是点,即其是域名,非端口),所以看起来像是访问的同一个服务器ip地址和端口。

这种情况下,Nginx实际上只做了请求的转发:请求来时,将请求转发给对应的tomcat,tomcat处理完响应回的数据再由Nginx转发给请求者。

Nginx反向代理两个tomcat服务器的更多相关文章

  1. EG:nginx反向代理两台web服务器,实现负载均衡 所有的web服务共享一台nfs的存储

    step1: 三台web服务器环境配置:iptables -F; setenforce 0 关闭防火墙:关闭setlinux step2:三台web服务器 装软件 step3: 主机修改配置文件:vi ...

  2. 使用nginx做反向代理来访问tomcat服务器

    本次记录的是使用nginx来做一个反向代理来访问tomcat服务器.简单的来说就是使用nginx做为一个中间件,来分发客户端的请求,将这些请求分发到对应的合适的服务器上来完成请求及响应. 第一步:安装 ...

  3. Nginx反向代理访问内网服务器

    Nginx反向代理访问内网服务器 问题描述 ​ 公司给配的台式机太垃圾了,不能访问外部网络就算了,还没有maven私服.近期项目不光得使用maven还得使用内网中的数据库之类,台式机太卡只能用自己的笔 ...

  4. 利用 Nginx 反向代理搭建本地 yum 服务器

    在政府,医院等单位有网络安全要求,对内外网进行物理隔离,然而内网主机无法访问互联网下载安装包,通过Nginx 反向代理搭建本地yum服务器实现内网主机安装包下载. Centos 8.2 部署 Ngin ...

  5. Linux中Nginx反向代理下的tomcat集群

    Nginx具有反向代理(注意和正向代码的区别)和负载均衡等特点. 这次Nginx安装在 192.168.1.108 这台linux 机器上.安装Nginx 先要装openssl库,gcc,PCRE,z ...

  6. Nginx 反向代理如何连接上游服务器

    L:92 想上游服务器先建立TCP连接 如三次握手 下面指令可以控制握手时间 proxy_next_upstream  指令当出现502可以换个上游服务器 Tcp keepalive 一般都是由进程在 ...

  7. 【转】Nginx反向代理和负载均衡

    原文链接:http://www.cnblogs.com/shuoer/p/7820899.html Nginx反向代理和负载均衡 环境说明 由于我使用的是windows系统,所以我用虚拟机虚拟出来了3 ...

  8. CentOS 7 学习(二) 配置Nginx反向代理

    CentOS 7 学习(二) 配置Nginx反向代理 Nginx可以通过php-fpm来运行PHP程序,也可以转向apache,让apache调用php程序来运行. 不过对于Nginx来说,其反向代理 ...

  9. 前端通过Nginx反向代理解决跨域问题

    在前面写的一篇文章SpringMVC 跨域,我们探讨了什么是跨域问题以及SpringMVC怎么解决跨域问题,解决方式主要有如下三种方式: JSONP CORS WebSocket 可是这几种方式都是基 ...

随机推荐

  1. leetcode-峰值检测

    寻找峰值     峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引. 数组可能包含多个峰值,在这种情况下,返回 ...

  2. spark相关脚本解析

    spark-shell/spark-submit/pyspark等关系如下: #spark-submit 逻辑: ########################################### ...

  3. HTML 之 表单

    关于HTML的表单 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&q ...

  4. 论文笔记:Attentional Correlation Filter Network for Adaptive Visual Tracking

    Attentional Correlation Filter Network for Adaptive Visual Tracking CVPR2017 摘要:本文提出一种新的带有注意机制的跟踪框架, ...

  5. Python3 Tkinter-Place

    1.绝对坐标 from tkinter import * root=Tk() lb=Label(root,text='hello Place') lb.place(x=0,y=0,anchor=NW) ...

  6. Python3 Tkinter-Pack

    1.创建 from tkinter import * root=Tk() print(root.pack_slaves()) Label(root,text='pack').pack() print( ...

  7. Python基础1 Hello World!

    从今天开始和大家分享一下python最基础的知识,以便帮助初学者快速入门. 最最基础的当然是hello world 了,无论哪门语言都会从它开始... 简单的‘Hello World!’ 1. 直接运 ...

  8. vue-cli2使用cdn方式引入cytoscape

    1. index.html头部引用 <script src="https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.2.19/cytos ...

  9. [剑指Offer] 58.对称的二叉树

    题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. [思路]递归,关键是isSame函数中的最后一句 /* struct Tree ...

  10. [计算机网络] 互联网协议栈(TCP/IP参考模型)各层的主要功能及相应协议

    应用层:提供用户与网络间的接口.----HTTP.FTP.SMTP 运输层:进程到进程间的数据传输.---TCP.UDP 网络层:主机到主机之间的数据传输.---IP.选路协议 数据链路层:相邻结点之 ...