nginx介绍(四) - 反向代理

时间:2023-03-09 15:33:28
nginx介绍(四) - 反向代理

前言

  前面虚拟主机的部分, 发现我所有的修改, 都是对 nginx 目录下, nginx.conf 和 html 文件夹的操作. 我的最终目的, 是映射到不同电脑的tomcat里面去啊, 操作这里的html 怕是不能实现我的功能了. 这时候, 需要来修改配置文件了.

一. 概念介绍

 1. 反向代理

nginx介绍(四) - 反向代理

从上图能看的出, 反向代理, 可以决定使用那一台服务器, 即  使用哪一个tomcat来处理请求.

如果将上一篇引入进来, 则tomcat1可以看成是 www.hao123.com, tomcat2 可以看成是 www.google.com.

二. 实现反向代理

1. window7 启动tomcat

window7 上面, 我使用的是 tomat8.0.48版本. 在启动之前, 先修改其 webapps/ROOT.index.jsp 文件

nginx介绍(四) - 反向代理

加了个小尾巴.

然后就可以将这个tomcat启动起来, 先放着.

2. centos 启动tomcat

centos也是一样, 修改tomat文件

nginx介绍(四) - 反向代理

启动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. 修改客户机的映射, 因为不能真去访问 谷歌啊

nginx介绍(四) - 反向代理

 6. 查看结果

不断的刷新访问 www.google.com

nginx介绍(四) - 反向代理

nginx介绍(四) - 反向代理

这两个页面, 会交替出现. 为啥? 因为他们的权重都是一样的, 默认为1. 权重越高, 那出现频率越高.

如果将配置改成以下方式:

    upstream tomcat1{
server 10.10.21.11:8080;
server 192.168.153.129:8080 weight=2;
}

刷新配置文件后, 再去看页面, 发现, 129出现两次, 11才出现一次.

通过这种方式, 将请求分发到不同服务器处理, 就实现了负载均衡.

如果这时候, 11服务器挂了, 这个网站任然是能够正常访问的. 只不过所有的请求都要走129了. 对客户来说, 不会有任何感觉.