nginx反向代理tomcat应用(同一个主机部署)
一.上一篇文章中已经讲述如何部署tomcat和nginx服务器
https://www.cnblogs.com/Cocolone/articles/13954000.html
二.同一台主机部署两个tomcat服务
1.在上文中已经部署了一个tomcat服务,现在我们需要另外部署一个tomcat服务
1)复制tomcat目录(root用户执行)
cp apache-tomcat-9.0.39 tomcat-8200 复制tomcat目录 chown -R tomcat tomcat-8200 将tomcat-8200授权给tomcat用户 chgrp -R tomcat tomcat-8200 将tomcat-8200授权给tomcat组
2)修改tomcat-8200端口(tomcat用户执行)

第一处端口修改为8006

第二处端口修改为8200

这一处端口因为暂时没有使用,所以先不做修改
修改完端口之后,一定要在防火墙中开放该端口(root用户执行),如果是阿里云服务器上面部署,还需要在安全组策略中添加该端口,如下图所示
firewall-cmd --zone=public --add-port=8200/tcp --permanent 添加8200端口
firewall-cmd --zone=public --add-port=8200/tcp --permanent 添加8300端口,提前添加,下面配置nginx转发的时候需要使用
firewall-cmd --reload 添加端口后重新载入


3)启动tomcat服务器(tomcat用户执行)
cd /usr/etc/tomcat-8200/bin ./startup.sh
4)登录tomcat-8200,验证是否启动成功

三.修改nginx代理配置(root用户执行)
1.备份修改nginx.conf文件
cd /usr/local/nginx/conf cp nginx.conf nginx.conf_bak vim nginx.conf 在nginx.conf文件的http节点下添加以下内容,注意格式问题 upstream tomcat8080 { server 47.107.128.226:8080; } upstream tomcat8200 { server 47.107.128.226:8200; } server { listen 8300; server_name nimabaidu.com; location / { proxy_pass http://tomcat8080; index index.jsp index.html index.htm; } } server { listen 8300; server_name nibabaidu.com; location / { proxy_pass http://tomcat8200; index index.jsp index.html index.htm; } }
/usr/local/nginx/sbin/nginx -s reload 修改了nginx.conf配置之后,重新加载配置

四.修改windows中的hosts文件,配置域名和ip的指向
文件所在目录 C:\Windows\System32\drivers\etc

五.在浏览器中输入域名


在输入域名的时候一定要加上在nginx.conf中配置的端口 8300
六.至此,tomcat和nginx反向代理配置完毕
总结:
正向代理:在国内不能访问www.google.com,那么此时可以使用正向代理,找一个香港的代理服务器去访问google网站,这个时候,代理服务器代理的是客户端,google网站只知道来访的ip是代理服务器的ip(或者局域网内的客户端访问internet公网也是这么设置)
反向代理:多用于负载均衡,此时代理服务器代理的是目标服务端,而客户端访问的其实是代理服务器的ip,然后由代理服务器转发到目标服务端的ip
正向代理和反向代理的区别: 正向代理时,客户端访问的ip(在浏览器中输入的)是目标服务器的ip,相当于是在代理服务器中访问目标服务器ip;而反向代理时,客户端访问的ip(在浏览器中输入的)是代理服务器的ip,然后代理服务器通过请求中的端口决定要跳转的upstream(即目标服务器地址)。

浙公网安备 33010602011771号