nginx负载均衡简单配置

准备三台虚拟机来做这个实验:

192.168.232.132        web服务器

192.168.232.133        web服务器

192.168.232.134        负载均衡服务器

首先三台电脑预装nginx软件:

1、导入外部软件库

rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/epel-release-6-5.noarch.rpm
rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/ius-release-1.0-10.ius.el6.noarch.rpm
rpm -Uvh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

以下添加注释

mirrorlist=http://dmirr.iuscommunity.org/mirrorlist?repo=ius-el6&arch=$basearch

以下删除注释

#baseurl=http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/$basearch

2、yum安装nginx

yum install nginx

3、启动nginx

chkconfig nginx on

service nginx start

向web服务器中放入测试文件:

<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body bgcolor="white" text="black">
<center><h1>Welcome to nginx! 192.168.232.132</h1></center>
</body>
</html>

配置负载均衡服务器:

vi /etc/nginx/nginx.conf

内容如下:

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    upstream test.miaohr.com {
	server 192.168.232.132:80;
	server 192.168.232.133:80;
    }

    server {
        listen       80;
        server_name  test.miaohr.com;
        charset utf-8;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass        http://test.miaohr.com;
            proxy_set_header  X-Real-IP  $remote_addr;
            client_max_body_size  100m;
        }   

        location ~ ^/(WEB-INF)/ {
        deny all;
        }    

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /var/www/html/;
        }
    }
}

下面浏览器打开:192.168.232.134,如果132、133交替显示则表明试验成功。

拓展:

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2、weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

例如:

upstream bakend {

server 192.168.159.10 weight=10;

server 192.168.159.11 weight=10;

}

3、ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

例如:

upstream resinserver{

ip_hash;

server 192.168.159.10:8080;

server 192.168.159.11:8080;

}

4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream resinserver{

server server1;

server server2;

fair;

}

5、url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

例:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法

upstream resinserver{

server squid1:3128;

server squid2:3128;

hash $request_uri;

hash_method crc32;

}

tips:

upstream resinserver{#定义负载均衡设备的Ip及设备状态

ip_hash;

server 127.0.0.1:8000 down;

server 127.0.0.1:8080 weight=2;

server 127.0.0.1:6801;

server 127.0.0.1:6802 backup;

}

在需要使用负载均衡的server中增加

proxy_pass http://resinserver/;

每个设备的状态设置为:

1.down 表示单前的server暂时不参与负载

2.weight 默认为1.weight越大,负载的权重就越大。

3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

4.fail_timeout:max_fails次失败后,暂停的时间。

5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

nginx支持同时设置多组的负载均衡,用来给不用的server来使用。

client_body_in_file_only 设置为On 可以讲client post过来的数据记录到文件中用来做debug

client_body_temp_path 设置记录文件的目录 可以设置最多3层目录

location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡

nginx负载均衡简单配置

时间: 2024-10-13 00:32:18

nginx负载均衡简单配置的相关文章

nginx 负载均衡简单配置

配置要求: 三台服务器 127.0.0.1       主负载(把访问请求分给主机池) 127.0.0.2       主机2 127.0.0.3       主机3 第一步: 配置127.0.0.1(主负载)主机 nginx.conf文件 将主机池添加于 nginx.conf文件中的http 中 upstream mysvr{ server 127.0.0.2 weight=1; server 127.0.0.3 weight=3;} 如图: 主机池参数简介 weight 为该主机权重(图中配

Nginx负载均衡的配置

(本文把所有centos的系统命令用斜体加黑表示,以便各位阅读) 反向代理一般都是跟负载均衡搭配使用的,而负载均衡也分为硬件和软件两种,nginx作为一款服务器硬件,虽然比不上硬件的负载均衡那么牛,但是在软件的负载均衡里也已经非常强大了. nginx作为一个"代理服务器",能起到阀门的作用,而且这个阀门可以各种调整,而这些调整就是负载均衡的配置. 首先,先打开浏览器,输入183.232.41.1,回车之后出现的是京东的界面,如果有京东的账号,我们可以输入一下,然后关闭窗口.再在新的窗口

nginx 负载均衡的配置

服务器集群是我们那种大型百万级IP运维人员会操作的,今天小的也来给大家过一把nginx负载均衡配置集群方法,网上找了几篇文章,发现也不难呀. nginx负载均衡一, 1. 安装时不要安装在源代码同一个目录下,make时会报错的.  代码如下 复制代码 ./configure --prefix=/opt/nginx make && make install 2. 修改配置文件/opt/nginx/conf/nginx.conf 在server元素前增加:(假设两个tomcat的端口都是808

Linux学习总结(四十三)nginx 负载均衡 https 配置

1 nginx 负载均衡 当被代理的服务端为多台服务器时,就存在一个分发的问题,那么就涉及到一个负载均衡的概念.如何让客户端请求按照预定的设想均衡的分发到各个服务器上,就要使用各种均衡算法.下面介绍的ip哈希算法可以实现如下目的.当对后端的多台动态应用服务器做负载均衡时,ip_hash指令能够将某个客户端IP的请求通过哈希算法定位到同一台后端服务器上.这样,当来自某个IP的用户在后端Web服务器A上登录后,再访问该站点的其他URL,能够保证其访问的还是后端Web服务器A.如果请求的网站涉及到用户

Nginx负载均衡简易配置

多台Web服务器水平扩展,进行负载均衡对外服务,是一种很常见的方案. 常用方法用DNS轮询,LVS. DNS轮询虽然有配置简单的有点,但无法实现健康检查,DNS修改需要较长时间失效,对于无域名的内部服务需要手动修改客户端hosts. LVS实现功能强大,可配置项多,能实现会话保持,但消耗机器数多,不适合中型和小型项目. 其实Nginx也能实现负载均衡,而且配置简单,通过ip_hash也能实现会话保持. 配置方法: 1.轮询: 此种配置最为简单也最为常用,请求将会依次交给不同的服务器处理,但无法实

LVS负载均衡简单配置

LVS的安装与使用 第1章 LVS原理及介绍 1.1 LVS简介 LVS是Linux Virtual Server的简写,意思就是Linux虚拟服务器,是一个虚拟的服务器集群系统,可以在UNIX/LINUX平台下实现负载均衡集群功能.该项目在1998年5月由章文嵩博士组织成立,是中国国内最早出现的自由软件项目之一. LVS项目介绍: LVS项目主页:http://www.linuxvirtualserver.org/ LVS项目介绍:http://www.linuxvirtualserver.o

nginx负载均衡简单实例

nginx分配服务器策略 1.轮询(默认) 每一个请求按时间顺序逐一分配到不同的祸端服务器,如果后端服务器 down 掉,能自动抵触 2.weight(权重) weight代表权重,默认为1,权重越高被分配的客户端请求越多 3.ip hash 每个请求按访问 ip 的 hash 结果分配,这样每个方可固定访问一个后端服务器 4.fair (第三方) 按后端服务器的响应时间类分配请求,响应时间短的优先分配 一.做什么? 二.怎样做? 1.所需环境 虚拟机中需要安装 jdk+tomcat(两个)+n

负载均衡简单配置

首先,准备好配置环境:最少开三台服务器,并下编译好nginx命令,做好映射. 先在主配置服务器配置文件: vim /usr/local/nginx/conf/nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime,types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; ups

nginx 负载均衡proxy 配置

在http模块 加入 upstream fuzai{server 服务器ip;      #有端口的话 ip:端口 默认80端口可以不写} 在server 模块需要负载的location加入 location / {proxy_pass http://dis; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_for