Nginx架构详解:nginx反向代理配置
Posted IT实战联盟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 http://101.201.xxx.xxx; #浏览器访问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_hash IP指定(每个请求按访问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; }
以上是关于Nginx架构详解:nginx反向代理配置的主要内容,如果未能解决你的问题,请参考以下文章