Nginx 反向代理与负载均衡
2020-01-03 本文已影响0人
梁坤同学
反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
正向代理是针对你的客户端,如下图
反向代理.png反向代理是针对服务器,如下图:
正向代理.png配置反向代理
- 在 nginx 主机修改 nginx 配置文件
upstream tomcat-portal {
server 192.168.00.000:8080;
}
server {
listen 80;
server_name www.example.com;
location / {
proxy_pass http://tomcat-portal;
index index.html;
}
}
- 重启 nginx,用浏览器测试:www.example.com (此域名需配置域名指向)
负载均衡
负载均衡就是分摊到多个操作单元上进行执行,例如 web 服务器、FTP 服务器等,从而共同完成工作任务。
配置负载均衡
- 将放有首页工程的 tomcat 复制两份,端口分别为 8120 和 8280
- 分别启动这两个 tomcat 服务器的 tomcat 服务
- 修改 nginx 配置文件:
upstream tomcat-portal {
server 192.168.00.000:8080;
server 192.168.00.000:8180;
server 192.168.00.000:8280;
}
server {
listen 80;
server_name www.example.com;
location / {
proxy_pass http://tomcat-portal;
index index.html
}
}
此时,用浏览器访问 http://www.example.com 就会有三台服务器负载这个页面,并且三台服务出现的概率相同,交替出现。
如果其中一台服务器性能比较好,想让其承担更多的压力,可以通过 weight 设置权重。
upstream tomcat-portal {
server 192.168.00.000:8080;
server 192.168.00.000:8180 weight=2;
server 192.168.00.000:8280;
}
此时,用浏览器访问 http://www.example.com 第一台和第三台服务器出现的概率各为25%,第二台服务器出现的概率为50%。