Nginx反向代理常用模块
一、Nginx反向代理upstream模块
1、概念
Nginx反向代理(又称负载均衡)功能,依赖于ngx_http_upstream_module
模块,支持的代理方式有proxy_pass
(一般用于反向代理)、fastcgi_pass
(一般用于动态程序交互)、memcached_pass
(一般用于NOSQL缓存代理)。
-
反向代理:代理服务器接收外部连接请求,然后将请求转发给内部网络上的服务器,将从服务器得到结果返回给外部请求客户端。
-
正向代理:客户端向代理发送一个请求并指定目标(原始服务器),代理向原始服务器较交请求,并将获取的内容返回给客户端。
2、语法示例
示例1
upstream www_real_servers {
server 192.168.1.218:80 weight=5;
server 192.168.1.228:80 weight=5;
}
示例2
upstream www_real_servers {
server 192.168.1.218:80;
server 192.168.1.228:80 weight=1 max_fails=1 fail_timeout=10s;
#///the server config above is sam
server 192.168.1.238:80 weight=1 max_fails=2 fail_timeout=20s backup;
server 192.168.1.248:80 weight=1 max_fails=2 fail_timeout=20s backup;
}
示例解释
upstream www_real_servers {
#///server固定的,后面接域名或IP。如不加端口,默认为80。weight表示权重,值越大,被分配几率越高。
server 192.168.1.218:80;
#///指定socket文件
server unix:/tmp/backend3.socket;
#///域名加端口。如用域名,需内网有DNS或负载均衡器的hosts文件中有域名解析
server aaa.abc.com:8080;
#///备份服务器,等上面的服务器都不能