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{ listen80; server_name localhost;#charset koi8-r;#access_log logs/host.access.logmain; location / { root html; index index.html index.htm; } }}

更改location内容为:

location / { proxy_pass http://101.201.xxx.xxx;#浏览器访问Nginx的IP或者网址

}

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

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

http{ ...//省略#proxy_pass代理到所需分发请求IP群upstream101.201.xxx.xxx{ server101.201.xxx.xxx:8080; server101.202.xxx.xxx:8081; server101.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;}

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180309G16UWQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券