前言
前面虚拟主机的部分, 发现我所有的修改, 都是对 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了. 对客户来说, 不会有任何感觉.