怎么利用nginx实现负载均衡。

负载均衡环境

nginx负载均衡位置:192.168.207.131 80端口

WEB_1:192.168.207.129 80端口
WEB_2:192.168.207.130 80端口
在web_1和web_2为web服务器,在192.168.207.131上安装nginx,作为负载均衡器使用,负载均衡使用的端口是80。

安装nginx服务器

echo "deb http://packages.dotdeb.org squeeze all" >>/etc/apt/sources.list
echo "deb-src http://packages.dotdeb.org squeeze all" >>/etc/apt/sources.list
#添加dotdeb源,已多次介绍dotdeb源的好处
apt-get update
apt-get install nginx-full
#nginx-full这个包里面包含着所有需要用到的模块。

nginx文件配置

1、nginx.conf的http层及events层配置

将nginx.conf的events层修改为以下代码:

use epoll;    
worker_connections 1024;     #所以nginx支持的总连接数就等于worker_processes * worker_connections

在nginx.conf的http层加入以下代码:

#设定负载均衡的服务器列表    
upstream mysvr {    
        #weigth参数表示权值,权值越高被分配到的几率越大   
        server 192.168.207.129:80 weight=5;    
        server 192.168.207.130:80 weight=5;    
}

2、虚拟主机配置

配置你要绑定域名的虚拟主机

vi /etc/nginx/conf.d/example.com.conf  
#example.com是你要绑定的域名

3.配置文件内容:

server {    
        listen 80;    
        server_name example.com;    
        #charset gb2312;    
        #设定本虚拟主机的访问日志    
        access_log logs/three.web.access.log main;    
        #如果访问 /img/*, /js/*, /css/* 资源,则直接取本地文件,不通过squid    
        #如果这些文件较多,不推荐这种方式,因为通过squid的缓存效果更好    
        #location ~ ^/(img|js|css)/{    
        #   root /data3/Html;    
        #   expires 24h;  
        #}   
            #对 "/" 启用负载均衡    
        location / {    
            proxy_pass http://mysvr;  #以这种格式来使用后端的web服务器  
            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_max_body_size 10m;    
            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;  
        }  
}

4、将域名绑定至192.168.207.131,并重启nginx

/etc/init.d/nginx restart

来自
Debian VPS上nginx实现负载均衡
nginx负载均衡实践
Nginx 简单的负载均衡配置示例[原创]

标签:nginx

你的评论