2、nginx简单的反向代理和负载均衡
一、准备工作
1、俩台web服务器(有俩虚拟机上安装nginx实现)
linux上的配置: 按照这篇博客来配置:https://blog.csdn.net/weixin_39126199/article/details/106235460
2、用windows上的nginx作为反向代理服务器。
主要是修改 windows上的配置文件。下载链接:http://nginx.org/en/docs/windows.html
二、修改Win上的配置(实现反向代理)
1、打开配置文件 解压后在conf文件夹里面的nginx.conf。
2、把原有的配置文件 server 相关的配置全部注释掉(nginx注释用的是#)
3、设置域名和修改win配置文件
3.1使用SwitchHosts 设置本机ip 的域名。(SwitchHosts在网上百度下载一个就行)
3.2、修改win配置
#设置反向代理
upstream xiaoguaishou.test{
server 192.168.87.130:80;
}
upstream gugu.test{
server 192.168.87.128:80;
}
# 配置要代理的服务器信息
# gugu - 192.168.87.128
server {
# 监听的端口
listen 80;
# 通过什么域名去访问当前的web服务器
server_name gugu.com;
location / {
# 设置代理
proxy_pass http://gugu.test;
}
}
# 配置要代理的服务器信息
# xiaoguaishou - 192.168.87.130
server {
# 监听的端口
listen 80;
# 通过什么域名去访问当前的web服务器
server_name xiaoguaishou.com;
location / {
# 设置代理
proxy_pass http://xiaoguaishou.test;
}
}
3.3、配置解释
3.4、启动win服务器
第一个linux服务器中的网页;
第二个linux服务器中的网页:
三、负载均衡
1、在反向代理的前提下进行负载均衡。可以复制一份nginx.conf文件,进行负载均衡的配置修改。
#设置反向代理
upstream gugu.test{
server 192.168.87.128:80 weight=4;
server 192.168.87.130:80 weight=1;
}
# 配置要代理的服务器信息
server {
# 监听的端口
listen 80;
# 通过什么域名去访问当前的web服务器
server_name localhost;
location / {
# 设置代理
proxy_pass http://gugu.test;
}
}
2、配置解释:
流程: 1、浏览器访问 域名 localhost
2、找到 gugu.test
3、找到上面的反向代理的 gugu.test,根据权重去找对应的linux中的web服务器。
配置文件改完之后重新加载win中的nginx:
在黑框框界面可以执行 nginx.exe -s reload 。
3、浏览器界面显示
第一个linux中web显示界面:
第二个linux中web显示界面
注:因为设置的权重的原因,需要多刷新几次,才会显示第二个网页。