一、反向代理
1. 什么是反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
首先我们理解正向代理:代理客户端,统一请求网络资源
正向代理是针对你的客户端,而反向代理是针对服务器的:
这样操作除了方便外,也更安全,便于统一安全部署,比如:加防火墙
2. 配置反向代理的前期准备
将 案例 部署到服务器的 Tomcat 中的 ROOT 目录下
项目的具体部署课参考:一篇文章带你学会部署项目到 Linux 中
为了操作方便(不需要输入对应的项目名称访问):这里将项目打成 ROOT.war ,
将服务器/usr/local/tomcat/apache-tomcat-7.0.57/webapps下的内容删除,将打好的包导入
将war包导入该 webapps 中:
可以正常访问:
3. 配置反向代理
(1)修改 nginx.conf 配置文件:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# 配置要代理的 网址
upstream tomcat-travel{
server 192.168.245.129:8080;
}
# 配置 index 访问资源
server {
listen 80;
server_name www.travel.com;
location / {
# root index;
# 对应要代理的网址
proxy_pass http://tomcat-travel;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
(2)重新启动Nginx 然后用浏览器测试:http://www.travel.com (此域名须配置域名指向)
二、负载均衡
1. 什么是负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
2. 配置负载均衡的前期准备
实际应该部署不同的服务器上,这里为了演示方便就同一台服务器配置了三个 Tomcat
(1)将刚才的存放工程的tomcat复制三份,修改端口分别为8080 ,8081,8082 。
通过 Xftp 快速修改server.xml 的端口
(2)分别启动这三个tomcat服务。
(3)为了能够区分是访问哪个服务器的网站,可以在首页标题加上标记以便区分
3. 配置负载均衡
(1)修改 nginx.conf 配置文件:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# 配置要代理的 网址
upstream tomcat-travel{
server 192.168.245.129:8080;
server 192.168.245.129:8081;
server 192.168.245.129:8082;
}
# 配置 index 访问资源
server {
listen 80;
server_name www.travel.com;
location / {
# root index;
# 对应要代理的网址
proxy_pass http://tomcat-travel;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
三种随机可以访问到:
(2)如果此时我想要一个 2:1:1 的几率选择: