1.什么是反向代理
使用Nginx实现反向代理,Nginx只做请求的转发,后台有多个http服务器提供服务,Nginx的功能就是把请求转发给后面的服务器,决定把请求转发给谁。
2.在一个虚拟机上创建两个tomcat实例,模拟多个服务器。
Nginx反向代理就是通过访问不同的域名访问运行在不同端口的tomcat ,这里在hosts文件 中配置 www.test80.com 和 www.test82.com两个域名,
对应的ip都是我虚拟机上的安装了Nginx的centos系统的ip地址192.168.93.130,通过模拟Nginx反向代理,实现 www.test80.com 访问运行8080端口的tomcat,www.test82.com访问运行8082端口的tomcat
2.1 在线安装tomcat
[root@localhost local]# su liuch [liuch@localhost local]$ ls bin etc games include lib lib64 libexec Nginx Nginx-1.16.0 Nginx-1.16.0.tar.gz sbin share src [liuch@localhost local]$ su root Password: [root@localhost local]# wget https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.42/bin/apache-tomcat-8.5.42.tar.gz --no-check-certificate --2019-06-16 06:13:43-- https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.42/bin/apache-tomcat-8.5.42.tar.gz Resolving mirrors.cnnic.cn... 101.6.8.193, 2402:f000:1:408:8100::1 Connecting to mirrors.cnnic.cn|101.6.8.193|:443... connected. WARNING: certificate common name “*.tuna.tsinghua.edu.cn” doesn’t match requested host name “mirrors.cnnic.cn”. HTTP request sent, awaiting response... 200 OK Length: 9711748 (9.3M) [application/x-gzip] Saving to: “apache-tomcat-8.5.42.tar.gz”
100%[==========================================================================================================>] 9,711,748 1.45M/s in 6.4s
2019-06-16 06:13:50 (1.44 MB/s) - “apache-tomcat-8.5.42.tar.gz” saved [9711748/9711748]
[root@localhost local]# ls
apache-tomcat-8.5.42.tar.gz bin etc games include lib lib64 libexec Nginx Nginx-1.16.0 Nginx-1.16.0.tar.gz sbin share src
[root@localhost local]#
|
2.2 解压
2.3 创建tomcats目录并复制两个tomcat
2.4修改tomcat配置(在同一台机器上运行两个tomcat,需要设置tomcat的端口不同)
修改tomcat2的server.xml
2.6 启动tomcat,并开放8082端口(直接访问 192.168.93.130:8082会访问不通,被拦截器拦住了)
开放8082端口:
访问测试
3. 配置Nginx反向代理
在上面的基础上,配置Nginx的反向代理服务,这时Nginx仅仅是做请求转发
/usr/local/Nginx/sbin/Nginx -s reload 重新加载Nginx配置文件后 测试,可以看到域名为www.test80.com的请求,被转发到了端口号为8080的tomcat服务器上
来自www.test82.com的请求,被转发到了端口号为8082的tomcat服务器上:
如果在同一个域名下有多台服务器提供服务,此时需要Nginx来进行负载均衡。
Tomcat1服务器:192.168.93.130:8080
Tomcat2服务器:192.168.93.130:8082,在前面的基础上,Nginx.conf配置稍作如下改动:把tomcatserver2 的反向代理配置及proxy_pass注释掉,
在tomcatserver1下面添加一台服务器 server 192.168.93.130:8082; 即可
此时访问http://www.test80.com/ ,可以看到8080端口的tomcat1,8082端口的tomcat2轮流处理请求:(Nginx默认的负载均衡策略是轮询)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。