博客列表 >反向代理和负载均衡

反向代理和负载均衡

进击的小菜鸟
进击的小菜鸟原创
2018年03月24日 16:40:13653浏览

nginx支持两个用法  1个proxy_pass,1个upsteam,分别用来做反向代理,和负载均衡

以反向代理为例,nginx不自己处理php的相关请求,而是把php的相关请求转发给apache来处理.

例如  :有两台服务器  

客户端--->  (服务器1)nginx(只处理html文件) ---proxy_pass--->(服务器2)apache(处理php)

nginx配置 

location ~ \.php {

    proxy_pass   http://127.0.0.1:8080

}

反向代理后端如果有多台服务器,自然可形成负载均衡,

把多台服务器用 upstream绑定在一起并起个组名,然后proxy_pass指向这个组名

例:两台图片服务器

up_steam  img_server(组名) {

server  127.0.0.1:81  weight=1(权重) max_fails=2(最多几次无法连接就放弃连接)

    fail_timeout=3 (连接失败连接时间秒);

server  127.0.0.1:82  weight=1(权重) max_fails=2(最多几次无法连接就放弃连接)

    fail_timeout=3 (连接失败连接时间秒);

}

location ~ \.(jpg|png) {

proxy_set_header  X-Forwarded-For $remote_addr;(后端服务器得到的ip是前端服务器的ip,所以发送请求头给后端服务器)

proxy_pass  http://img_server;

}

默认的负载均衡的算法很简单,就是针对后端服务器的顺序,逐个请求.也有其他算法,如一致性哈希,需要安装第三方模块.


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议