反向代理:是指以代理server来接收Internet上的请求,然后将请求转发到内部网络的server上,并将结果返回给Internet上连接的client,此时的代理server对外就表现为反向代理server。
Nginx安装好之后。開始使用它来简单实现反向代理与负载均衡的功能。在这之前。首先得脑补一下什么是反向代理和负载均衡。
反向代理:是指以代理server来接收Internet上的请求,然后将请求转发到内部网络的server上,并将结果返回给Internet上连接的client。此时的代理server对外就表现为反向代理server。
通俗来讲,反向代理server就好比我们常说的中介。Internetclient能够看作是租房的客户,而内部网络的server好比是房东。租户通过中介与房东沟通,最后租到房子。
负载均衡。分摊到多个操作单元上进行运行。从而实现多个操作单元来共同完毕任务,经常使用来平衡集群中各server的负载压力。本次实例主要是在反向代理的基础上实现简单的负载均衡。
实例:
1、准备工作
Nginxserver、多个应用server(本实例使用tomcat)
2、文件改动
改动本地文件hosts文件(在本机C:\Window\system32\drivers\etc)
改动nginx安装文件夹下的配置文件nginx.conf(本路径为/usr/local/nginx/nginx.conf)。添加Server节点,例如以下:
upstream tomcats{
server 192.168.91.129:8080 ;
server 192.168.91.129:8081;
}
server {
listen 80;
server_name tomcat.vb2c.com;
location /{
proxy_pass http://tomcats;
index index.html index.htm;
}
}
分别启动tomcat(本次使用两个tomcat)、nginxserver
3、測试
在本地输入:tomcat.vb2c.com地址,没刷新一次訪问不同的tomcatserver,例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3BiOTI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
在此基础上实现负载均衡。事实上就是为Serverport加上weight权重。权重越大。訪问的概率越大,例如以下:
upstream tomcats{
server 192.168.91.129:8080 weight=2;
server 192.168.91.129:8081;
}
server {
listen 80;
server_name tomcat.vb2c.com;
location /{
proxy_pass http://tomcats;
index index.html index.htm;
}
}
訪问时,8080的响应次数大于8081
我们从外部进行訪问时。实际訪问的是Nginxserver,可是Nginxserver将我们的请求转发给内部的tomcatserver,从外相来看,我们訪问的是Nginx,实际上是tomcat。
此时的Nginxserver就作了反向代理的功能,这种长处就是,众多用户同一时候訪问一台server,通过反向代理,能够实现将请求转向多台内部server,既能加快处理的速度。又能减轻server的压力。
至此,简单的反向代理与负载均和实例就完毕了。看似非常easy的功能。可是对于Linux菜鸟来说在操作时会遇到各种问题。比方改动配置文件。怎样使用命令来操作等。当然等熟练之后也就得心应手了,并且如今有好多专门的工具进行文件的改动。
- 本文已收录于下面专栏:
反向代理:是指以代理server来接收Internet上的请求,然后将请求转发到内部网络的server上,并将结果返回给Internet上连接的client,此时的代理server对外就表现为反向代理server。的更多相关文章
- 远程首次连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析(转)
PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOW ...
- 远程连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析
PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOW ...
- 设计网页录入信息与自己定义server数据接收
需求:设计一个注冊网页用于录入username和登录password.并将数据传入server并显示出来. 1.前言:网页提交的 get 和 post 两种方式. (1)对于get提交方式,以本文中样 ...
- MySQL安装教程及Navicat连接MySQL报错:1251-Client does not support authentication protocol requested by server
MySQL安装可参考: MySql 8.0.18安装 此参考文章后面涉及到的密码修改,对本标题碰到的错误同样适用. 本文先讲如何安装,在讲碰到的1251问题.要直接看解决方案的朋友可以直接通过目录链接 ...
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
- ruby使用DBI连接MySQL数据库发生异常:in `error': Can't connect to MySQL server on 'localhost' (10061) (DBI::DatabaseError)
Ruby使用DBI连接MySQL数据库一般为: require "dbi" dbh = DBI.connect("dbi:Mysql:test:localhost&quo ...
- Window Server IIS6.0部署webservice请求调用提示请求失败
在一台window server 2003机器上部署了一个webservice,iis为6.0,奇怪的是.在服务器本机调用webservice成功了,可是在其它client调用却反馈失败.详细什么原因 ...
- mac下安装mysql 连接时候报错 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
http://segmentfault.com/q/1010000000094608 同样的问题,先在网上搜了下其他人解决这个问题的方法,是去修改mysql.cnf文件添加mysql.sock文件路径 ...
- 使用SSH代理上IPV6(使用SSH端口转发)
这几个月在国外待着,一直担心我的六维账户怎么办,那可是个宝贝啊.我看网上说可以用六飞啊神马的在IPV6下上IPV6的网站,但是冒失现在六维封禁了非学校的IPV6地址,所以这些软件就不顶用了. 想到以前 ...
随机推荐
- CCNP路由实验之十五 NAT(网络地址转换)
CCNP路由实验之十五 NAT(网络地址转换) 众所周知,要让自己的电脑连上Internet,必须要到运营商(ISP)申请一个上网账号,依据此账号申请自己的宽频业务(拨号上网.商业固定IP等等) ...
- Android 关于expandableListView childrenView 点击改变颜色
1.点击后改变颜色并保持颜色改变状态: <?xml version="1.0" encoding="utf-8"?> <selector xm ...
- 前6名免费DNS服务 - 公共DNS服务
前6名免费DNS服务 - 公共DNS服务 谷歌 8.8.8.8,8.8.4.4备份,用户将期望并获得高可用性,如DNSSEC等过滤和安全保护. OpenDNS 现在是Cisco帝国的一部分,主要是20 ...
- Zabbix监控,Mysql,Nginx,PHP-FTPM
一 Zabbix监控Mysql 监控Mysql,Zabbix提供了一个监控模板,所有可以直接使用.或者使用Percona提供的监控模板. 1. 使用自带监控模板 1.1.1 编写监控模板 #!/bin ...
- jQuery返回值:jQuery对象
$(function(){ //返回值 alert($); //jQuery //以下返回的全是jQuery对象 alert($()); alert($('#box')); alert($('#box ...
- POJ 1082 Calendar Game
Adam and Eve enter this year's ACM International Collegiate Programming Contest. Last night, they pl ...
- HDU 4631 Sad Love Story 平面内最近点对
http://acm.hdu.edu.cn/showproblem.php?pid=4631 题意: 在平面内依次加点,求每次加点后最近点对距离平方的和 因为是找平面最近点对...所以加点以后这个最短 ...
- 解决vmware 和hyper-v不能共存的问题
只需在 Windows 中以管理员身份运行命令提示符 cmd 1.运行 bcdedit /copy {current} /d "Windows 8 (关闭 Hyper-V)"命令, ...
- 阅读笔记——Servlet
什么是Servlet Servlet是用java编写的运行在web服务器中的程序,因此它可以调用服务器端的类,它也可以被调用,它本身就是一个类. Servlet的工作原理 servlet由web服务器 ...
- Keil 编译环境之在线仿真调试问题
一.问题现象: 这几天刚开始上手STM32,使用Keil 环境进行编程,然后使用ULINK2进行在线仿真,在按键处理函数程序中设置断点,却发现按了按键程序没有停在设置的断点,程序正常运行,如下图所示, ...