nginx反向代理配置
通过对nginx.conf进行编辑实现nginx反向代理功能,可以配置一台服务器,也可配置一组服务器。使用轮询,权重等策略
nginx反向代理配置
1.找到nginx的安装位置
2.找到nginx.conf文件
然后找到虚拟主机下的location
编写:proxy_pass
在路径配置中 proxy_pass和root目录只能存在一个,一旦我们配置了proxy_pass他就不会找下面的路径了
proxy_pass后面写法有两种:
- 直接接要代理的地址,可以是一台具体的主机,也可以是一个具体的网址
- 可以配成一组服务器。
2.1:我们先配置一台主机。
如果我们要配一个的话,后面的地址的协议就需要写全 例如:http://www/atguigu.com
2.2.如果我们要配置一组服务器进行负载均衡:
2.2.1 轮询策略
那我们在server的同级写:
upstream 别名 {
server 192.168.159.140:80;
server 192.168.159.141:80;
}
在proxy_pass 后面写别名
此时是轮询的策略,一人一下,雨露均沾。
2.2.2.如果希望有比重的话。
负载均衡的几个配置:
权重:weight=10
停用:down
备用:backup
这几个配置都是加在upstream里的ip后面例如:
此时:就会根据配置去负载均衡。
2.2.4 不常用的策略
1:ip_hash
根据客户端的ip地址转发同一台服务器,可以保持会话。也就是一个ip地址的请求会被发送到同一台服务器上。克服了切换服务器cookie,session等信息的使用。但是随着技术的发展,上面的问题被其它技术所解决了。并且由于移动设备,wifi技术的发展,移动设备的ip不一定是固定的,所以也就作用不大了。
2:least_conn
最少连接访问。 将请求转发给请求较少的服务器,但是由于每个服务器的配置不同,所以能力不同,所以我们在分权重的时候权重可能不同,所以连接数自然也就不同,所以最少连接访问不是很合理。
3:fair
根据后端服务器响应时间转发请求。(需要下载组件才可以使用。)有可能因为网络延迟等原因导致流量倾斜。
4:url_hash
定向流量转发。
例如:(以下仅用于举例,无实际意义)
http://www.atguigu.com/login
http://www.atguigu.com/region
http://www.atguigu.com/wms/…
http://www.atguigu.com/base/…
等
以上就可以根据url的不同转发到不同的服务器上。
更多推荐