下面是配置nginx负载均衡的简单示例文件,主要作用是:
www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP。用户访问http://www.s135.com,将其负载均衡到192.168.1.2:80、92.168.1.3:80、192.168.1.4:80、192.168.1.5:80四台服务器。用户访问http://blog.s135.com,将其负载均衡到192.168.1.7服务器的8080、8081、8082端口。获取用户真实IP.
1 | user www www; |
这里主要用到两个模块:
1.HTTP负载均衡模块(HTTP Upstream)
其中的一些字段解释:
server:指定后端服务器的名称和一些参数,可以使用域名,IP,端口,或者unix socket。如果指定为域名,则首先将其解析为IP.
upstream:这个字段设置一群服务器,可以将这个字段放在proxy_pass和fastcgi_pass指令中作为一个单独的实体,它们可以可以是监听不同端口的服务器,并且也可以是同时监听TCP和Unix socket的服务器。
2.HTTP代理模块(HTTP Proxy)
这个模块可以转发请求到其他的服务器。
proxy_pass:这个指令设置被代理服务器的地址和被映射的URI,地址可以使用主机名或IP加端口号的形式
proxy_set_header:这个指令允许将发送到被代理服务器的请求头重新定义或者增加一些字段。这个值可以是一个文本,变量或者它们的组合。