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

Nginx负载均衡记录

2015-11-18 16:34 495 查看
一、下载安装。

我是在windows环境下配置的。在nginx官网上下载最新稳定版nginx,解压后有一个nginx.exe文件。cmd下执行nginx,浏览器访问nginx所在ip(端口默认80)。访问成功则代表启动成功,停止服务cmd下nginx.exe -s -stop。

二、配置负载

在conf/nginx.conf中找到http {

include mime.types;...}

添加: upstream 123{

server 127.0.0.1:8080;

server 127.0.0.1:8090;

}

找到http{...}下的server {...}

添加:server {

listen 80;

server_name localhost;

location / {

proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;(目的是错误时自动跳转到下一个负载服务器)

proxy_connect_timeout 5s;

proxy_read_timeout 1s;

proxy_pass http://123;(与upstream对应)
}

以上配置可以实现服务器节点挂掉时,不影响访问。

三、nginx的四种调度算法

1、轮询默认的

upstream 123{

server 127.0.0.1:8080;

server 127.0.0.1:8090;

}

2、ip_hash 限定ip,即每个ip访问的相同的节点服务器,session可以对应上了。

upstream 123{

ip_hash;

server 127.0.0.1:8080;

server 127.0.0.1:8090;

}

3、url_hash 限定url,即根据url现在访问相同的节点服务器。需要下载hash包使用。

4、fair 根据页面大小和效率自动分配,需要下载fair包。

四、注意

weight配置权重。upstream相应节点后weight=1,数字越大,被分配概率也越大。

down表示暂时不加入负载,什么操作让其加入我也不知道。。。

max_fails 表示最大失败次数。

fail_timeout:失败后该节点暂停的时间。

backup 其他节点处问题了访问它,保证安全性的一个操作。

ip_hash 时不能配置weight和backup。

五、nginx添加模块

linux下:

cd nginx目录

./configure --add-module=新增模块路径

make

make install
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: