您的位置:首页 > 运维架构 > Nginx

Nginx负载均衡配置

2015-10-25 23:44 477 查看
对于一个大型网站来说,负载均衡是永恒的话题,负载均衡,顾名思义,即使将负载分摊到不同的服务单元,既可以保证服务的可用性,又可以保证响应足够快,给用户很好的体验。nginx负载均衡软件是目前大受欢迎的软件之一。下面通过Nginx的反向代理功能配置一个Nginx负载均衡服务器。

在/etc/nginx/conf/目录下新建一个配置文件http_proxy.conf,内容如下

upstream  myserver {

server    需要代理的服务器地址或域名    weight=3     max_fails=3  fail_timeout=20s;

​             ......

}​


在上面定义的负载均衡组myserver中,组名可以根据需要随便取。

在/etc/nginx/conf/vhosts/目录下配置default.conf文件,内容如下:

server {

listen    80;

server_name  www.domain.com  ip地址;

index index.html index.htm index.php;​

root  网站目录

location  /  {

proxy_pass  http://myserver; 
proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;​

include   /alidata/server/nginx/conf/proxy.conf;​

}​

}


proxy_next_upstream 用来定义故障转移策略,当后端服务节点返回500、502、503、504和执行超时等错误时,自动将请求转发到updtream负载均衡组中的另一台服务器,实现故障转移。

proxy.conf内容如下:


Nginx负载均衡配置
编辑删除转载
2015-10-25 15:01:28
标签:linux服务器nginx

对于一个大型网站来说,负载均衡是永恒的话题,负载均衡,顾名思义,即使将负载分摊到不同的服务单元,既可以保证服务的可用性,又可以保证响应足够快,给用户很好的体验。nginx负载均衡软件是目前大受欢迎的软件之一。下面通过Nginx的反向代理功能配置一个Nginx负载均衡服务器。

1、在/etc/nginx/conf/目录下新建一个配置文件http_proxy.conf,内容如下:

upstream myserver {

server 需要代理的服务器地址或域名 weight=3 max_fails=3 fail_timeout=20s;

​ ......

}​

在上面定义的负载均衡组myserver中,组名可以根据需要随便取。

2、在/etc/nginx/conf/vhosts/目录下配置default.conf文件,内容如下:

server { listen 80; server_name www.domain.com ip地址; index index.html index.htm index.php;​ root 网站目录 location / { proxy_pass http://myserver; proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;​ include /alidata/server/nginx/conf/proxy.conf;​ }​ }
proxy_next_upstream 用来定义故障转移策略,当后端服务节点返回500、502、503、504和执行超时等错误时,自动将请求转发到updtream负载均衡组中的另一台服务器,实现故障转移。

proxy.conf内容如下:

​proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

client_body_buffer_size 128k;

proxy_connect_timeout 90;

proxy_send_timeout 90;

proxy_read_timeout 90;

proxy_buffer_size 4k;

proxy_buffers 4 32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;


proxy_set_header: 设置由后端的服务器获取用户的主机名或真实的IP地址,以及代理者真是IP地址。

client_body_buffer_size:用于指定客户端请求主体缓存大小。,可以理解为先保存到本地在传给用户。

proxy_connect_timeout: 表示与后端服务器连接的超时时间,即发起握手等候响应的超时时间。

proxy_send_timeout: 表示于后端服务器数据回传时间,即规定时间组织内后端服务器必须穿万所有数据,否则,Nginx将断口开这个连接。

​proxy_read_timeout:设置Nginx从代理的后端服务器获取信息的时间

proxy_bufferr_size:设置缓冲区大小。

proxy_buffers:设置缓冲区的数量和大小。

proxy_busy_buffer_size:用于设置系统很忙时可以使用的proxy_buffers大小。

proxy_temp_file_write-sizeL指定proxy缓存临时文件的大小。​
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息