Nginx反向代理配置+负载均衡集群部署

文章目录

负载均衡+反向代理基础环境部署:

什么是代理

正向代理既是通过代理服务器访问外网资源,而反向代理与之相反是将局域网的资源通过反向代理服务器提供给互联网用户浏览和使用等。

实验环境图

流量过程

当客户端发起请求后通过Internet (本实验为NAT网卡)来到代理服务器上,代理服务器经算法选择后调用后端服务器响应并将流量返回给客户端。

环境部署

IP 角色
192.168.110.135 代理(负载均衡)服务器
192.168.110.137 Web服务器1
192.168.110.134 Web服务器2
192.168.110.1(Vmware-NAT网卡IP) 客户端(Windows)

准备两台Web服务器

安装Nginx

可以选择RPM包安装和源码安装。RPM包安装这里不演示了,若不会源码安装的同学可以借鉴这一篇文章Nginx源码安装详细过程

准备页面内容
bash 复制代码
echo "example.com Web2 `hostname -I`" > /usr/local/nginx/html/index.html 
echo "example.com Web1 `hostname -I`" > /usr/share/nginx/html/index.html

这里页面文件的具体路径根据自己配置文件中的定义。

添加主机名
nginx 复制代码
vim /etc/nginx/nginx.conf
#将server下的server_name改为
server_name www.example.com
#检查配置文件语法
nginx -t
#重启服务
systemctl restart nginx

代理服务器配置

nginx 复制代码
vim /etc/nginx/conf.d/proxy.conf
upstream web_pools{
  server 192.168.110.137:80 weight=1;
  server 192.168.110.134:80 weight=1;
}

server{
  listen 80;
  server_name www.example.in;
  location / {
        proxy_pass http://web_pools;
  }
}
#语法检查
nginx -t
#重启服务
systemctl restart nginx

修改windos hosts文件

bash 复制代码
路径:C:\Windows\System32\drivers\etc\hosts
192.168.110.135 www.example.in
若修改后无法保存,需要修改文件属性将只读去掉

测试:

终端

bash 复制代码
C:\Users\SuperMe>curl www.example.in
example.com Web2 192.168.110.134

C:\Users\SuperMe>curl www.example.in
example.com Web1 192.168.110.137

C:\Users\SuperMe>curl www.example.in
example.com Web1 192.168.110.137

C:\Users\SuperMe>curl www.example.in
example.com Web2 192.168.110.134

C:\Users\SuperMe>curl www.example.in
example.com Web2 192.168.110.134

C:\Users\SuperMe>curl www.example.in
example.com Web1 192.168.110.137

浏览器


剩下的事情交给刷新处理就能看到效果。

相关推荐
一心0922 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上2 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊2 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
代码老y3 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
典学长编程3 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
DuelCode4 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
爬山算法5 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
你想考研啊6 小时前
四、jenkins自动构建和设置邮箱
运维·jenkins
Code blocks6 小时前
使用Jenkins完成springboot项目快速更新
java·运维·spring boot·后端·jenkins
饥饿的半导体7 小时前
Linux快速入门
linux·运维