电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。

Nginx的反向代理和负载均衡。

一般来说,负载均衡是通过反向代理的方式实现的。

①什么是反向代理?

要理解反向代理,首先我们要理解正向代理,但是正向代理我们一般不叫它正向代理,一般来说,就叫正向代理为代理。

假如教室里面只有一台机器连接互联网(外网),而其余的机器连接的是局域网(内网),其余机器不能直接连外网。那么其余机器要怎么才能连接外网呢?可以把那唯一一台可以连接互联网(外网)的机器作为一台代理服务器。让其余只能连接局域网(内网)的机器配置代理服务器的连接设置,连接到那唯一一台可以上外网的机器。其余不能直接连外网的机器,如果要连接外网,需要那唯一一台可以直接连接外网的机器(服务器)做转发。转发以后让唯一一台可以直接连接外网的机器取得互联网资源,之后,再将互联网资源转发给其余不能直接连接外网的机器。所有的互联网请求都会经过那台代理服务器(即唯一可以连接外网的机器)。

如FQ软件。FQ软件的原理也是通过代理的方式实现的。我们为什么用了FQ软件就可以访问国外的网站。(有些网站通过国内的网络是直接连接不上的)。是因为,FQ软件那端有服务器,这个服务器通过某些手段,可以直接连接国外的网站(注意:是直接连接),我们和这个服务器通过FQ软件可以连接,可以通过这个服务器进行中转,然后可以间接的获取到国外一些网站的资源。

正向代理是针对客户端(用户电脑)的,而反向代理是针对服务器的。

正向代理,代理的是客户端用户的机器,是代理服务器,也叫正向代理服务器。而反向代理代理的是服务器的机器。叫反向代理服务器,如安装了nginx的机器,就叫反向代理服务器。

正向代理图解如下:

 

反向代理图解如下:

不同点是,最左端,一个是用户客户端机器,一个是网站的服务器机器。

做反向代理的最终目的是做负载均衡。让tomcat协同工作,tomcat机器负载的负担可以均衡。

而且反向代理服务器可以是多台,即安装了nginx的服务器,可以是多台,这个时候的公网IP就是VIP,虚拟IP。后面会讲如何配置。

 

②配置反向代理。准备工作。准备多个tomcat机器。(或者一台机器多个tomcat)。但实际生产环境是多台机器多个tomcat。

首先配置新的虚拟机三台。

电商六十、Nginx集群的虚拟机搭建(主分发器一台、备分发器两台)(克隆centos虚拟机文件,进度条卡了,按F12,卡在了starting atd [ok])准备三台节点。

首先安装jdk:

用软件连接tomcat1的节点。

电商四、centos系统安装jdk和zookeeper

只用安装jdk。

然后安装tomcat并设置环境变量。

下载文件压缩包:

 上传到tomcat1服务器。

cd ~

Alt+P

put d:/apa   按Tab键补全。

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第1张图片

cd ~

ll查看。

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第2张图片

解压:tar -zxvf  apache    按Tab键补全。

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第3张图片

更改 apache-tomcat-7.0.68文件夹的名字:

mv  apache-tomcat-7.0.68 tomcat1

复制以上内容会出错,手动敲入内容。

将tomcat1文件夹复制到/usr目录下。

cp -r  tomcat1  /usr

复制文件夹,需要加参数-r

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第4张图片

tomcat1可以不用修改环境变量,在目录下执行./startup.sh文件即可。

启动tomcat

./startup.sh

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第5张图片

 

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第6张图片

 

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第7张图片

 

另外两台也这样设置jdk和tomcat。

 

③利用反向代理实现负载均衡。

web工程(controller工程,即发布在tomcat上的war包工程),由nginx做反向代理实现负载均衡,即由nginx决定访问哪一个tomcat机器上的web工程。nginx不负责service工程(服务工程。)但是服务工程(service工程)也有负载均衡。服务工程(service工程)由zookeeper负责负载均衡。

准备index页面。

进入webapps文件夹。

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第8张图片

删除里面的ROOT文件夹。

然后再重新创建文件夹mkdir ROOT

目的是清空ROOT文件夹里面的内容。

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第9张图片

软件连接tomcat1服务器。

cd ~

Alt+P

put -r d:/index

传文件夹,带参数-r

然后cd、ll查看检查。并cp文件夹index里面的内容到ROOT文件夹内

cp -r index/* /usr/tomcat1/webapps/ROOT/
因为index文件夹里面还有文件夹,所以要带参数-r

更改一下index.html的内容。

用软件连接tomcat1服务器。

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第10张图片

 

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第11张图片

 

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第12张图片

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第13张图片

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第14张图片

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第15张图片

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第16张图片

然后保存。

把另外两个机器分别改成tomcat02和tomcat03。

红色字体没有执行权限。cd ..回到文件夹。赋予权限。

chmod -R 777 文件夹名称(tomcat1)

然后配置负载均衡。

 upstream pinyougou-portal {
    
    server   192.168.10.136:8080;
    server   192.168.10.137:8080;
    server   192.168.10.138:8080;
    
    }


    server {
    
    listen 80;
        server_name  www.pinyougou.com;

    location / {
    
        proxy_pass   http://pinyougou-portal;
        index  index.html;
    
    }

    

   }

每一个nginx都这样配置。需要重载nginx。

./nginx -s reload

关键是www.pinyougou.com域名对应的IP地址是VIP,是keepalived的虚拟IP(VIP)。

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第17张图片

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第18张图片

电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。_第19张图片

不停刷新发现标题是变化的,而且nginx01宕机,仍然可以执行。

你可能感兴趣的:(电商六十五、Nginx的反向代理和负载均衡。将tomcat安装在Linux虚拟机上。)