对于一个大型网站来说,负载均衡是永恒的话题,负载均衡,顾名思义,即使将负载分摊到不同的服务单元,既可以保证服务的可用性,又可以保证响应足够快,给用户很好的体验。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缓存临时文件的大小。