要理解反向代理,首先我们要理解正向代理,但是正向代理我们一般不叫它正向代理,一般来说,就叫正向代理为代理。
假如教室里面只有一台机器连接互联网(外网),而其余的机器连接的是局域网(内网),其余机器不能直接连外网。那么其余机器要怎么才能连接外网呢?可以把那唯一一台可以连接互联网(外网)的机器作为一台代理服务器。让其余只能连接局域网(内网)的机器配置代理服务器的连接设置,连接到那唯一一台可以上外网的机器。其余不能直接连外网的机器,如果要连接外网,需要那唯一一台可以直接连接外网的机器(服务器)做转发。转发以后让唯一一台可以直接连接外网的机器取得互联网资源,之后,再将互联网资源转发给其余不能直接连接外网的机器。所有的互联网请求都会经过那台代理服务器(即唯一可以连接外网的机器)。
如FQ软件。FQ软件的原理也是通过代理的方式实现的。我们为什么用了FQ软件就可以访问国外的网站。(有些网站通过国内的网络是直接连接不上的)。是因为,FQ软件那端有服务器,这个服务器通过某些手段,可以直接连接国外的网站(注意:是直接连接),我们和这个服务器通过FQ软件可以连接,可以通过这个服务器进行中转,然后可以间接的获取到国外一些网站的资源。
正向代理是针对客户端(用户电脑)的,而反向代理是针对服务器的。
正向代理,代理的是客户端用户的机器,是代理服务器,也叫正向代理服务器。而反向代理代理的是服务器的机器。叫反向代理服务器,如安装了nginx的机器,就叫反向代理服务器。
正向代理图解如下:
反向代理图解如下:
不同点是,最左端,一个是用户客户端机器,一个是网站的服务器机器。
做反向代理的最终目的是做负载均衡。让tomcat协同工作,tomcat机器负载的负担可以均衡。
而且反向代理服务器可以是多台,即安装了nginx的服务器,可以是多台,这个时候的公网IP就是VIP,虚拟IP。后面会讲如何配置。
首先配置新的虚拟机三台。
电商六十、Nginx集群的虚拟机搭建(主分发器一台、备分发器两台)(克隆centos虚拟机文件,进度条卡了,按F12,卡在了starting atd [ok])准备三台节点。
首先安装jdk:
电商四、centos系统安装jdk和zookeeper
只用安装jdk。
然后安装tomcat并设置环境变量。
下载文件压缩包:
上传到tomcat1服务器。
cd ~
Alt+P
put d:/apa 按Tab键补全。
cd ~
ll查看。
解压:tar -zxvf apache 按Tab键补全。
更改 apache-tomcat-7.0.68文件夹的名字:
mv apache-tomcat-7.0.68 tomcat1
复制以上内容会出错,手动敲入内容。
将tomcat1文件夹复制到/usr目录下。
cp -r tomcat1 /usr
复制文件夹,需要加参数-r
tomcat1可以不用修改环境变量,在目录下执行./startup.sh文件即可。
启动tomcat
./startup.sh
另外两台也这样设置jdk和tomcat。
web工程(controller工程,即发布在tomcat上的war包工程),由nginx做反向代理实现负载均衡,即由nginx决定访问哪一个tomcat机器上的web工程。nginx不负责service工程(服务工程。)但是服务工程(service工程)也有负载均衡。服务工程(service工程)由zookeeper负责负载均衡。
准备index页面。
进入webapps文件夹。
删除里面的ROOT文件夹。
然后再重新创建文件夹mkdir ROOT
目的是清空ROOT文件夹里面的内容。
cd ~
Alt+P
put -r d:/index
传文件夹,带参数-r
然后cd、ll查看检查。并cp文件夹index里面的内容到ROOT文件夹内
cp -r index/* /usr/tomcat1/webapps/ROOT/
因为index文件夹里面还有文件夹,所以要带参数-r
更改一下index.html的内容。
然后保存。
把另外两个机器分别改成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)。
不停刷新发现标题是变化的,而且nginx01宕机,仍然可以执行。