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(即目标服务器地址)。

posted @ 2020-12-02 14:33  Cocolone  阅读(384)  评论(0)    收藏  举报