注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Perfect-World

以無法為有法,以無限為有限!

 
 
 

日志

 
 

Nginx 负载均衡: 由理论到实践  

2015-08-19 13:25:12|  分类: Web Server |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Nginx 负载均衡: 由理论到实践

Nginx负载均衡的应用很广,很多场景下都在使用这种架构。

环境如下:

192.168.1.100 (master node)  server1

192.168.1.109 (slave)        server2

192.168.1.106 (slave)        server3

 

安装nginx

在上面三台服务器上,分别安装nginx

yum install nginx

 

配置nginx

在上面三台服务器上,分别配置nginx

user  nginx;

worker_processes  1;

error_log  /var/log/nginx_error.log crit;

   

worker_rlimit_nofile  8192;

   

events {

worker_connections  1024; # you might need to increase this setting for busy servers

use epoll; #  Linux kernels 2.6.x change to epoll

}

   

http {

server_names_hash_max_size 2048;

server_names_hash_bucket_size 512;

   

server_tokens off;

   

include    mime.types;

default_type  application/octet-stream;

   

sendfile on;

tcp_nopush on;

tcp_nodelay on;

keepalive_timeout  10;

   

# Gzip on

gzip on;

gzip_min_length  1100;

gzip_buffers  4 32k;

gzip_types    text/plain application/x-javascript text/xml text/css;

   

ignore_invalid_headers on;

client_max_body_size    8m;

client_header_timeout  3m;

client_body_timeout 3m;

send_timeout     3m;

connection_pool_size  256;

client_header_buffer_size 4k;

large_client_header_buffers 4 64k;

request_pool_size  4k;

output_buffers   4 32k;

postpone_output  1460;

   

# Cache most accessed static files

open_file_cache          max=10000 inactive=10m;

open_file_cache_valid    2m;

open_file_cache_min_uses 1;

open_file_cache_errors   on;

   

# Include each virtual host

include "/etc/nginx/conf.d/*.conf";

}

 

配置虚拟主机

在server2和server3上

nano -w /etc/nginx/conf.d/mysite.com.conf

 

server {

access_log off;

error_log /var/log/yoursite.com-error.log;

listen 80;

server_name  yoursite.com www.yoursite.com;

   

location ~* .(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|wml|swf)$ {

        root   /var/www/yoursite.com;

                expires max;

                add_header Pragma public;

                add_header Cache-Control "public, must-revalidate, proxy-revalidate";

   

        }

   

location / {

            root   /var/www/yoursite.com;

            index  index.php index.html index.htm;

        }

   

}

 

在server1上

nano -w /etc/nginx/conf.d/balancer.com.conf

 

upstream balancer {

    server 192.168.1.100:80 ;

    server 192.168.1.106:80 ;

}

   

server {

    listen 192.168.1.100:80;

    server_name yoursite.com;

    error_log /var/log/yoursite.com-error.log;

    location / {

        proxy_pass http://balancer;

    }

   

}

 

重启nginx

service nginx restart

 

DNS记录

yoursite.com IN A 192.168.1.100

www IN A 192.168.1.100

 

如果仅仅是为了测试,直接绑定hosts文件。

The master server

之所以叫它master,是由于作为主的负载均衡器使用的。它也可以被用来从slave上请求服务。

upstream balancer {

server 192.168.1.100:80 ;

server 192.168.1.106:80 ;

}

 

server {

listen 192.168.1.100:80;

server_name yoursite.com;

error_log /var/log/yoursite.com-error.log;

location / {

proxy_pass http://balancer;

}

 

}

 

另一种场景,负载均衡器同时做为请求

server {

access_log off;

error_log /var/log/yoursite.com-error.log;

listen 127.0.01:80;

server_name yoursite.com www.yoursite.com;

 

location ~* .(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|wml|swf)$ {

root /var/www/yoursite.com;

expires max;

add_header Pragma public;

add_header Cache-Control "public, must-revalidate, proxy-revalidate";

 

}

 

location / {

root /var/www/yoursite.com;

index index.php index.html index.htm;

}

 

}

 

upstream balancer {

server 192.168.1.100:80 ;

server 192.168.1.106:80 ;

server 127.0.0.1:80 ;

}

 

server {

listen 192.168.1.100:80;

server_name yoursite.com;

error_log /var/log/yoursite.com-error.log;

location / {

proxy_pass http://balancer;

}

 

}

参考文档:

  • http://nginx.org/en/docs/http/load_balancing.html
  • http://wiki.nginx.org/HttpUpstreamModule
  • http://wiki.nginx.org/LoadBalanceExample

 

可能您还对以下事情兴趣: 

Nginx中文文档

Nginx在Windows和Linux环境下安装 

Nginx配置文件详细说明 

Linux下Weblogic 11g R1安装和配置 

Weblogic 10.1配置JNDI数据源 

调优 WebSphere Application Server V7 性能 

websphere7.0中配置oracle数据源及部署 

WebLogic、WebSphere、JBOSS、Tomcat之间的区别 

Tomcat下使用war包发布项目 

配置WebLogic Server 11g 集群、Session复制(Windows) 

Weblogic12 集群配置 

WebLogic Server 11g (10.3.6) 和12c (12.1.1)安装步骤 

linux(fedora、redhat)下配置web+ftp服务器全教程 

J2SDK1.4.2下载安装及使用教程 

解决启动WebLogic输入用户名密码问题 & 密码重置

绿色版TOMCAT 7.0安装配置手册

Tomcat7.0 内存配置

weblogic配置JDBC数据源详解

Weblogic内存分配

nginx做weblogic的前端负载均衡器

图文解说:Nginx+tomcat配置集群负载均衡

Websphere如何用80端口来访问9080应用程序

LINUX FTP安装与配置

Linux下安装Nginx详细图解教程

Ubuntu/Debian上安装Nginx+php环境 

使用XAMPP搭建本地JSP+PHP环境 

基于nginx的linux web服务器配置 

手机二维码访问: 

 

  评论这张
 
阅读(1409)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016