Nginx实现反向代理与负载均衡
1.什么是反向代理

使用nginx实现反向代理,Nginx只做请求的转发,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后面的服务器,决定把请求转发给谁。
2.在一个虚拟机上创建两个tomcat实例,模拟多个服务器。
Nginx反向代理就是通过访问不同的域名访问运行在不同端口的tomcat ,这里在hosts文件 中配置 www.test80.com 和 www.test82.com两个域名,
对应的ip都是我虚拟机上的安装了nginx的centos系统的ip地址192.168.93.130,通过模拟Nginx反向代理,实现 www.test80.com 访问运行8080端口的tomcat,www.test82.com访问运行8082端口的tomcat
2.1 在线安装tomcat
|
[root@localhost local]# su liuch [liuch@localhost local]$ ls bin etc games include lib lib64 libexec nginx nginx-1.16.0 nginx-1.16.0.tar.gz sbin share src [liuch@localhost local]$ su root Password: [root@localhost local]# wget https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.42/bin/apache-tomcat-8.5.42.tar.gz --no-check-certificate --2019-06-16 06:13:43-- https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.42/bin/apache-tomcat-8.5.42.tar.gz Resolving mirrors.cnnic.cn... 101.6.8.193, 2402:f000:1:408:8100::1 Connecting to mirrors.cnnic.cn|101.6.8.193|:443... connected. WARNING: certificate common name “*.tuna.tsinghua.edu.cn” doesn’t match requested host name “mirrors.cnnic.cn”. HTTP request sent, awaiting response... 200 OK Length: 9711748 (9.3M) [application/x-gzip] Saving to: “apache-tomcat-8.5.42.tar.gz” 100%[==========================================================================================================>] 9,711,748 1.45M/s in 6.4s 2019-06-16 06:13:50 (1.44 MB/s) - “apache-tomcat-8.5.42.tar.gz” saved [9711748/9711748] [root@localhost local]# ls apache-tomcat-8.5.42.tar.gz bin etc games include lib lib64 libexec nginx nginx-1.16.0 nginx-1.16.0.tar.gz sbin share src [root@localhost local]# |
2.2 解压

2.3 创建tomcats目录并复制两个tomcat

2.4修改tomcat配置(在同一台机器上运行两个tomcat,需要设置tomcat的端口不同)
修改tomcat2的server.xml

2.5修改tomcat首页,以区分两个tomcat

2.6 启动tomcat,并开放8082端口(直接访问 192.168.93.130:8082会访问不通,被拦截器拦住了)

开放8082端口:

访问测试

3. 配置Nginx反向代理
在上面的基础上,配置nginx的反向代理服务,这时nginx仅仅是做请求转发

/usr/local/nginx/sbin/nginx -s reload 重新加载nginx配置文件后 测试,可以看到域名为www.test80.com的请求,被转发到了端口号为8080的tomcat服务器上

来自www.test82.com的请求,被转发到了端口号为8082的tomcat服务器上:

4.模拟nginx 负载均衡配置
如果在同一个域名下有多台服务器提供服务,此时需要nginx来进行负载均衡。
Nginx负载均衡服务器:192.168.93.130
Tomcat1服务器:192.168.93.130:8080
Tomcat2服务器:192.168.93.130:8082,在前面的基础上,nginx.conf配置稍作如下改动:把tomcatserver2 的反向代理配置及proxy_pass注释掉,
在tomcatserver1下面添加一台服务器 server 192.168.93.130:8082; 即可

此时访问http://www.test80.com/ ,可以看到8080端口的tomcat1,8082端口的tomcat2轮流处理请求:(nginx默认的负载均衡策略是轮询)

Nginx实现反向代理与负载均衡的更多相关文章
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- nginx的反向代理和负载均衡的一个总结
之前一直觉的nginx的反向代理和负载均衡很厉害的样子,最近有机会接触了一下公司的这方面的技术,发现技术就是一张窗户纸呀,捅破了啥都明白了! 接下来先看一下nginx的反向代理: 简单的来说就是ngi ...
- nginx简单反向代理和负载均衡(ubuntu)
nginx简单反向代理与负载均衡 环境:三台ubuntu 12.04.5 虚拟机 均装有nginx 1.1.19 以下u1(192.168.240.129) ,u2(192.168.240.13 ...
- nginx的反向代理和负载均衡的区别是什么 - 开源中国社区
nginx的反向代理和负载均衡的区别是什么 - 开源中国社区 nginx的反向代理和负载均衡的区别是什么 #user nobody;worker_processes 1;#error_log ...
- nginx(三)反向代理和负载均衡
nginx(三)反向代理和负载均衡 正向代理概念:比如在学校要上网,在学校内网是一个内网ip,需要连上公网就需要一个正向代理服务器. 反向代理概念: 看下图(Nginx只做请求的转发,后台有多个htt ...
- 七、CentOS 6.5 下 Nginx的反向代理和负载均衡的实现
CentOS 6.5 下 Nginx的反向代理和负载均衡的实现 * 修复上面文章的问题: 复制出一个tomcat2之后,修改service.xml文件时,要修改三个端口: 1. <!-- 800 ...
- nginx实现反向代理和负载均衡
利用nginx做反向代理和负载均衡是减轻服务器压力的有效方式.nginx代理服务器接收多个客户端请求, 根据配置的参数均衡到每个tomcat服务器上,tomcat处理请求,返回响应结果给nginx,n ...
- Nginx使用反向代理实现负载均衡
Nginx使用反向代理实现负载均衡 yls 2019-9-20 简介 基于docker容器以及docker-compose,所以需要自学docker在linux环境的基本使用 使用两个tomcat作为 ...
- nginx 配置反向代理,负载均衡实战解析
前言:NGINX的反向代理和负载均衡是网站架构中经常用到的一种高并发,高可用的方案,下面我们直接实战操作,当然理论也是要的. 一.反向代理 过程:反向代理:客户端 一>代理 <一> ...
- [笔记]nginx配置反向代理和负载均衡
1.nginx配置文件:源码安装情况下,nginx.conf在解压后的安装包内.yum安装,一般情况下,一部分在/etc/nginx/nginx.conf中,一部分在/etc/nginx/conf.d ...
随机推荐
- EDM设计案例分享:6款引人入胜的夏日邮件营销模板分享
夏日酷暑,清凉如风.在这个假期,旅游行业.酒店.服饰等都推出不少的假期活动,吸引游者的到来.假日期间,让我们看看一些旅游业.品牌服装店和酒店是怎么做好电子邮件广告的.在此,Focussend精心为大家 ...
- sudo: pip:找不到命令
https://blog.csdn.net/fcku_88/article/details/84191288
- windows7 玩 WinKawaks kof2002为什么提示couldn't initialise DirectSound?
插上 耳机 或者 音响 就ok 呵呵 http://wenwen.sogou.com/z/q200172744.htm windows7 玩 WinKawaks kof2002为什么提示couldn ...
- vue组件间通信子与父
二.组件间通信(子组件传值给父组件) 通过事件的方式来完成数据的传输. ①在父组件中 定义一个方法,用来接收子组件所通过事件传来的值 methods:{ recvMsg:function(msg){ ...
- 关于存储过程的一些sql
1.关于事务的回滚Set XACT_ABORT ON; 开启为on时 ,如果事务语句产生运行错误 ,将整个事务终止进行回滚,Off时只回滚产生错误的语句. 2.获取事务语句中上一次插入值的行号@@ID ...
- python基础-7.3模块 configparser logging subprocess os.system shutil
1. configparser模块 configparser用于处理特定格式的文件,其本质上是利用open来操作文件. 继承至2版本 ConfigParser,实现了更多智能特征,实现更有可预见性,新 ...
- Java数据结构介绍(线性结构和非线性结构)
数据结构包括:线性结构和非线性结构. 线性结构 数据元素之间存在一对一的线性关系 包括顺序存储结构和链式存储结构.顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的 链式存储的线性表称为链表,链表 ...
- dfs(找环)
https://codeforces.com/problemset/problem/1249/B2 B2. Books Exchange (hard version) time limit per t ...
- HDU 6697 Closest Pair of Segments(线段距离)
首先最容易想到的就是N2暴力枚举所有线段去找最小值,但是这样会做了许多无用功.我们可以先对线段排序,使得线段最左侧的端点按照x轴y轴排序,然后我们可以限定在这个线段的矩形框内的所有线段才有可能产生最小 ...
- DAG
DAG的生成 DAG(Directed Acyclic Graph) 叫做有向无环图,原始的RDD通过一系列的转换就形成了DAG,根据RDD之间的依赖关系的不同将DAG划分成不同的Stage,对于窄依 ...