nginx介绍(四) - 反向代理
前言
前面虚拟主机的部分, 发现我所有的修改, 都是对 nginx 目录下, nginx.conf 和 html 文件夹的操作. 我的最终目的, 是映射到不同电脑的tomcat里面去啊, 操作这里的html 怕是不能实现我的功能了. 这时候, 需要来修改配置文件了.
一. 概念介绍
1. 反向代理

从上图能看的出, 反向代理, 可以决定使用那一台服务器, 即 使用哪一个tomcat来处理请求.
如果将上一篇引入进来, 则tomcat1可以看成是 www.hao123.com, tomcat2 可以看成是 www.google.com.
二. 实现反向代理
1. window7 启动tomcat
window7 上面, 我使用的是 tomat8.0.48版本. 在启动之前, 先修改其 webapps/ROOT.index.jsp 文件

加了个小尾巴.
然后就可以将这个tomcat启动起来, 先放着.
2. centos 启动tomcat
centos也是一样, 修改tomat文件

启动tomcat. 这样, 我在两台不同的电脑, 甚至是不同的系统上, 部署了服务. 坐等nginx临幸. ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄
3. 修改 nginx 的nginx.conf配置文件
upstream tomcat1{
server 10.10.21.11:8080;
server 192.168.153.129:8080;
}
server {
listen 80;
server_name www.google.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat1;
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;
}
}
4. 刷新配置
[root@localhost sbin]# ./nginx -s reload
5. 修改客户机的映射, 因为不能真去访问 谷歌啊

6. 查看结果
不断的刷新访问 www.google.com


这两个页面, 会交替出现. 为啥? 因为他们的权重都是一样的, 默认为1. 权重越高, 那出现频率越高.
如果将配置改成以下方式:
upstream tomcat1{
server 10.10.21.11:8080;
server 192.168.153.129:8080 weight=2;
}
刷新配置文件后, 再去看页面, 发现, 129出现两次, 11才出现一次.
通过这种方式, 将请求分发到不同服务器处理, 就实现了负载均衡.
如果这时候, 11服务器挂了, 这个网站任然是能够正常访问的. 只不过所有的请求都要走129了. 对客户来说, 不会有任何感觉.
nginx介绍(四) - 反向代理的更多相关文章
- Nginx介绍与反向代理
Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...
- nginx1.1 nginx介绍和反向代理
1.什么是nginx nginx是一个高性能的http和反向代理的web服务器,所占内存小,高并发 nginx默认端口:80端口 命令存放目录:cd /usr/local/nginx/sbin 配置文 ...
- 【转】Nginx服务器的反向代理proxy_pass配置方法讲解
[转]Nginx服务器的反向代理proxy_pass配置方法讲解 转自:http://www.jb51.net/article/78746.htm 就普通的反向代理来讲Nginx的配置还是比较简单的, ...
- 五、Nginx多Server反向代理配置
Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. server_name的匹配顺序 Nginx中的s ...
- 【转载】Nginx + Tomcat 实现反向代理
通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务器向Internet上的web服 ...
- Nginx 部署、反向代理配置、负载均衡
Nginx 部署.反向代理配置.负载均衡 最近我们的angular项目部署,我们采用的的是Nginx,下面对Nginx做一个简单的介绍. 为什么选择Nginx 轻:相比于Apache,同样的web服务 ...
- Nginx 七层反向代理
目录 1.代理 2.正向代理 3.反向代理 4.Nginx 反向代理 5.Nginx 反向代理相关指令介绍 ①.listen ②.server_name ③.location ④.proxy_pass ...
- nginx是一个反向代理的软件
nginx只是一个反向代理的软件,和语言无关,理论上支持任何Web平台,当然http://Asp.net也不例外,http://51aspx.com就是http://Asp.net开发的,前端暴漏的是 ...
- Nginx+Tomcat实现反向代理及动静分离
Nginx+Tomcat实现反向代理及动静分离 时间 2014-07-07 15:18:35 51CTO推荐博文 原文 http://yijiu.blog.51cto.com/433846/143 ...
随机推荐
- JS脚本-零星片段
1.这种写法:(function(){})(),同时注意:原生的异步对象的兼容性实例化方法 <script> document.domain = "qq.com"; x ...
- [SoapUI] 从测试套件,测试用例,测试步骤,测试数据各个级别控制是否执行
自动保存 # -*- coding: utf-8 -*- import java.awt.Color import org.apache.poi.ss.usermodel.Cell import or ...
- idea连接操作数据库
场景 本文主要以DB2作为演示,其他数据库大同小异: 网上有很多推荐DB2的连接软件工具,但是因为DB2的使用场景不多,这次是在做数据资产管理的数据质量分析时使用到,在做数据交换时要在DB2中建表并同 ...
- 设计模式 策略模式2 c++11
根据需求的不同 选择不同的策略算法 之前是保存的各种策略类的指针 这里直接使用 function bind 选择对应的算法 代码 // 005.cpp: 定义控制台应用程序的入口点. // #inc ...
- 深拷贝 deepAssign
实现代码: <script type="text/javascript"> Object.deepAssign = function() { var args = Ar ...
- Arrays工具类和Collections工具类
集合知识点总结 Arrays工具类 .binarySearch() .sort() .fill() //填充 int[] array = new int[10]; Arrays.fill(array, ...
- oracle删除dbf导致的oracle工具不能正常使用
1.使用cmd命令登录Oracle:sqlplus / as sysdba;就可以,中间两个空格.2.删除了dbf导致Oracle工具不能正常使用解决办法(oracle initialization ...
- Python day 4
阅读目录 内容回顾: 流程控制: if分支结构: while循环控制: for循环(迭代器): ##内容回顾: #1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 ...
- 2019.02.28 bzoj4199: [Noi2015]品酒大会(sam+线段树)
传送门 题意:给一个串,每个位置有一个权值,当S[s...s+len−1]=S[t...t+len−1]&&S[s...s+len]̸=S[t..t+len]S[s...s+len-1 ...
- mysql 地理位置定位
SET @pt2 = ST_GeomFromText('POINT(116.405289 39.904987)'); SELECT *,ST_Distance_Sphere(ST_GeomFromTe ...