nginx介绍 - 反向代理

Posted Sniper_ZL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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保姆级教程-就怕你不懂--反向代理

nginx 反向代理

nginx介绍 - 反向代理

nginx的项目实战:nginx反向代理微服务端口