Nginx的反向代理和负载均衡

什么是反向代理
正向代理:通过代理服务器上网
Nginx的反向代理和负载均衡_第1张图片
反向代理:pc访问网站,后面有好多网站提供服务,由反向代理服务器来决定谁来提供服务。(反向代理服务器是引用在服务端。决定哪台服务器提供服务。)
Nginx的反向代理和负载均衡_第2张图片
 
 
反向代理的模拟
反向代理应该有一个nginx服务器有多个应用服务器(可以是tomcat)
可以使用一台虚拟机,安装一个nginx,多个tomcat,来模拟。
首先需要安装JDK,如果你输入java -version出现下面的画面,那么说明你的JDK已经安装了,如果没有,那你就需要安装jdk
安装tomcat
你可以把tomcat的 解压缩文件复制到虚拟环境的系统中,如我在usr/local下面建立了一个tomcat文件夹,并在tomcat文件夹中建立了两个空文件夹tomcat1和tomcat2,把tomcat的解压缩文件分别复制到这两个空文件中。
Nginx的反向代理和负载均衡_第3张图片
打开tomcat2文件,找到conf文件夹下的server.xml,右击用gedit打开
找到server port,把8005改成8006
找到connector port 把8080改成8081,把8009改成8010
Nginx的反向代理和负载均衡_第4张图片

在tomcat2里面找到webapps/ROOT/index.jsp,用gedit打开,找到标题h1,后面加上-8081(此步骤主要是用来检测,区分两个tomcat)
Nginx的反向代理和负载均衡_第5张图片
同样的方法把tomcat1里面的index.jsp的标题h1后面加上-8080
在命令中启动两个tomcat
Nginx的反向代理和负载均衡_第6张图片
下面来访问两个不同端口号的tomcat
Nginx的反向代理和负载均衡_第7张图片
Nginx的反向代理和负载均衡_第8张图片


此时就要做反向代理,相当于在反向代理后面跟着多个服务器,运行的相同的代码。
用Nginx配置一个虚拟机server用来转发请求
Nginx的反向代理和负载均衡_第9张图片
找打Nginx的配置文件nginx.conf,添加一个server:
upstream tomcats{
	server 192.168.25.148:8080;
	server 192.168.25.148:8081;
   }
 
   server {
        listen       80;
        server_name  tomcat.taotao.com;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            proxy_pass   http://tomcats;
            index  index.html index.htm;
        }
   }

负载均衡

只需要在upstream的server后面添加一个weight即可代表权重。权重越高,分配请求的数量就越多。默认权重是1

Nginx的反向代理和负载均衡_第10张图片


此时在访问tomcat.taotao.com时,就会出现下面的网页

Nginx的反向代理和负载均衡_第11张图片


当刷新网页时就会出现8080和8081端口号轮换出现,切8080比8081出现的次数要多,这就是负载均衡的作用。




你可能感兴趣的:(JAVA专区,********@java知识,********@java实战)