Nginx架构详解(二)_nginx反向代理配置

前言

上次我写了一篇Nginx的安装文章,既然已经安装了,这次就写一下如何配置反向代理,通过反向代理实现负载均衡

反向代理原理

停止Nginx,备份配置文件

上次我们的nginx安装在/etc/nginx目录内

停止Nginx

/etc/nginx/sbin/./nginx -s stop

然后进入安装后的配置文件目录cd /etc/nginx/conf

先进行配置文件备份,以防万一出现问题可以恢复(改文件前先备份是个好习惯)

cp nginx.conf nginx.conf.bak

编辑nginx.conf配置文件

vi nginx.conf

进入vi编辑模式,找到

http{

...//省略几行

server{

listen 80;

server_name localhost; #charset koi8-r;

#access_log logs/host.access.log main;

location / {

root html;

index index.html index.htm;

}

}

}

更改location内容为:

location / {

proxy_pass ;

#浏览器访问Nginx的IP或者网址

}

(proxy_pass表示将通过使用所设IP对Nginx进行的请求通过代理分发,xxx要改成你们自己IP)

然后我们在http内,server外写入

http{

...//省略

#proxy_pass代理到所需分发请求IP群

upstream 101.201.xxx.xxx{

server 101.201.xxx.xxx:8080;

server 101.202.xxx.xxx:8081;

server 101.203.xxx.xxx:8082;

}

server{

...//省略

}

}

最后我们启动Nginx即可

/etc/nginx/sbin/./nginx

试一试在浏览器中访问Nginx

是不是可以直接进入到我们在upstream中配置的IP应用中了呢?

扩展

Nginx的负载均衡方式有常用的4种

1.轮询模式(默认,如前例)

2.weight 权重模式(通过配置权重来应对服务器性能不均时的情况,数值为访问比例) ip_hashIP指定(每个请求按访问ip的hash结果分配,同一个用户IP请求固定指向第一次为其所分配的后端服务器,session不会因为服务器不同的问题找不到)

3.fair 第三方模块(按后端服务器的响应时间来分配请求,响应时间短的优先分配。与weight分配策略类似)

4.url_hash 第三方模块(按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端在配置了缓存时比较有效)

weight 权重模式举例

当第二个服务器配置较好时可以多分配一些权重,而第三个服务器分配数量最少

当使用IP指定时加入ip_hash即可

upstream 101.201.xxx.xxx{

server 101.201.xxx.xxx:8080 weight=3;

server 101.202.xxx.xxx:8080 weight=6;

server 101.203.xxx.xxx:8080;

ip_hash;

}

fair(第三方)

upstream 101.201.xxx.xxx{

server 101.201.xxx.xxx:8080;

server 101.202.xxx.xxx:8080;

server 101.203.xxx.xxx:8080;

fair;

}

url_hash(第三方)

指定hash时,加入hash_method与weight不可同时使用

upstream 101.201.xxx.xxx{

server 101.201.xxx.xxx:8080;

server 101.202.xxx.xxx:8080;

server 101.203.xxx.xxx:8080; hash$request_uri;

hash_method crc32;

}

更多精彩内容请关注“IT实战联盟”哦~~~