博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2271|回复: 1

nginx负载均衡设置

[复制链接]
发表于 2010-11-22 08:22:19 | 显示全部楼层 |阅读模式
在反向代理的配置中,nginx的服务器负载均衡存在很多优势,不少企业都用这种软件环境进行业务流程。那么现在就来为大家介绍一下nginx负载均衡器的软件配置过程。包含的内容比较多,那么大家可以仔细浏览一下。
Nginx负载均衡器的优点许多,简单概括为:
①实现了可弹性化的架构,在压力增大的时候可以临时添加tomcat服务器添加到这个架构里面去;
②upstream具有负载均衡能力,可以自动判断下面的机器,并且自动踢出不能正常提供服务的机器;而Keepalvied可保证单个nginx 负载均衡器的有效性,避免单点故障.
IP地址nginx(主负载均衡器):192.168.1.106
nginx(从负载均衡器):192.168.1.107
VIP地址:192.168.1.108
tomcat1的IP:192.168.1.102
tomcat2的IP:192.168.1.103
tomcat3的IP:192.168.1.105
布置整个环境用到的软件为:
  • apache-tomcat-6.0.20.tar.gz  
  • jdk-6u16-linux-i586.bin  
  • nginx-0.7.17.tar.gz  
  • prce-7.7.tar.gz

①首先分别在3台tomcat主机上布置java环境,安装tomcat,具体步骤为:
安装java环境:
  • JDK的安装  
  • #chmod +x jdk-6u16-linux-i586.bin  
  • #./jdk-6u16-linux-i586.bin
  • 到此JDK已经安装完成  
  • 建立符号链接
  • # ln -s /usr/local/jdk-1.6.0-16/bin/java /usr/bin/java  
  • # ln -s /usr/local/jdk-1.6.0-16/bin/javac /usr/bin/javac
  • ln -s /usr/local/jdk-1.6.0-16 /usr/local/jdk  
  • ln -s /usr/local/jdk-1.6.0-16/jre /usr/local/jre  
  • TOMCAT的安装
  • #tar zxvf apache-tomcat-6.0.20.tar.gz  
  • #mv apache-tomcat-6.0.20 /usr/local/tomcat

设置环境变量: vim /etc/rc.d/rc.local,以追加的形式添加如下内容
  • JAVA_HOME=/usr/local/jdk  
  • export JAVA_HOME  
  • JRE_HOME=/usr/local/jre  
  • export JRE_HOME  
  • CLASSPATH=/usr/local/tomcat/common/lib/:/usr/local/jdk/lib:/usr/local/jre/lib  
  • export CLASSPATH  
  • PATH=$PATH:/usr/local/tomcat/bin/:/usr/local/apache/bin:/usr/local/jdk/bin:/usr/local/jre/bin  
  • export PATH  
  • TOMCAT_HOME=/usr/local/tomcat  
  • export TOMCAT_HOME  
  • 重启服务器,启动tomcat以检查是否存在错误:
  • #cd /usr/local/tomcat/bin  
  • #./startup.sh
  • http://IP地址:8080 可以看到猫头成功了?
  • ②分别在二台nginx负载均衡器上安装nginx及配置
    下载及安装nginx:
    • wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.tar.gz
    • tar zxvf pcre-7.7.tar.gz  
    • cd pcre-7.7/  
    • ./configure  
    • make && make install  
    • wget http://sysoev.ru/nginx/nginx-0.7.17.tar.gz
    • tar zxvf nginx-0.7.17.tar.gz  
    • cd nginx-0.7.17/  
    • ./configure --prefix=/usr/local/nginx --with-http_stub_status_module  
    • make && make install

    这里贴上nginx.conf配置文件,不加任何说明,方便用X-shell直接粘贴,很人性化的噢二个nginx负载均衡器的文件一样,配置
    完成后分别用/usr/local/nginx/sbin/nginx启动?
    • user nobody nobody;  
    • worker_processes 1;  
    • pid /usr/local/nginx/logs/nginx.pid;  
    • worker_rlimit_nofile 51200;  
    • events  
    • {  
    • use epoll;  
    • worker_connections 51200;  
    • }  
    • http{  
    • include        mime.types;  
    • default_type application/octet-stream;  
    • server_names_hash_bucket_size 128;  
    • client_header_buffer_size 32k;  
    • large_client_header_buffers 4 32k;  
    • client_max_body_size 8m;  
    • sendfile on;  
    • tcp_nopush      on;  
    • keepalive_timeout 60;  
    • tcp_nodelay on;  
    • fastcgi_connect_timeout 300;  
    • fastcgi_send_timeout 300;  
    • fastcgi_read_timeout 300;  
    • fastcgi_buffer_size 64k;  
    • fastcgi_buffers 4 64k;  
    • fastcgi_busy_buffers_size 128k;  
    • fastcgi_temp_file_write_size 128k;  
    • gzip on;  
    • gzip_min_length 1k;  
    • gzip_buffers      4 16k;  
    • gzip_http_version 1.0;  
    • gzip_comp_level 2;  
    • gzip_types        text/plain application/x-javascript text/css application/xml;  
    • gzip_vary on;  
    • upstream backend  
    • {  
    • server 192.168.1.102:8080;  
    • server 192.168.1.103:8080;  
    • server 192.168.1.105:8080;  
    • }  
    • server {  
    • listen 80;  
    • server_name www.yuhongchun027.com;  
    • location / {  
    • root /var/www ;  
    • index index.jsp index.htm index.html;  
    • 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;  
    • proxy_pass http://backend;
    • }
    • #location /nginx {  
    • #access_log on;  
    • #auth_basic "NginxStatus";  
    • #auth_basic_user_file /usr/local/nginx/htpasswd;  
    • #}
    • log_format access '$remote_addr - $remote_user [$time_local] "$request" '
    • '$status $body_bytes_sent "$http_referer" '
    • '"$http_user_agent" $http_x_forwarded_for';  
    • access_log /var/log/access.log access;  
    • }  
    • }
    ③在二台Nginx机上安装及配置keepalived,做双机互备?
         
    • #wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz  
    • #tar zxvf keepalived-1.1.15.tar.gz  
    • #cd keepalived-1.1.15  
    • #./configure  
    • #make  
    • #make install
    • 将keepalived做成启动脚务,方便管理:
    • #cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/  
    • #cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/  
    • #mkdir /etc/keepalived  
    • #cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/  
    • #cp /usr/local/sbin/keepalived /usr/sbin/  
    • #service keepalived start|stop

    在二台Nginx上,我分别贴出keepalived.conf配置文件,配置完成后分别用service keepalived
    start启动?检验keepalived是否成功可用命令
         
    • ip avrrp_instance VI_INET1 {  
    •          state MASTER  

    • interface eth0  
    •          virtual_router_id 53  
    •          priority 200  
    •          advert_int 1  
    •          authentication {  
    •                  auth_type pass  
    •                  auth_pass yourpass  
    •          }  
    •          virtual_ipaddress {  
    •                  192.168.1.108  
    •          }  
    • }  
    • vrrp_instance VI_INET1 {  
    •          state BACKUP  

    • interface eth0  
    •          virtual_router_id 53  
    •          priority 100  
    •          advert_int 1  
    •          authentication {  
    •                  auth_type pass  
    •                  auth_pass yourpass  
    •          }  
    •          virtual_ipaddress {  
    •                  192.168.1.108  
    •          }  
    • }

    以上三步完成nginx负载均衡设置后,就是检测了,大家可任意停掉其中一台的任何服务;在正常结果中大家应该发现,其中任意一台服务器宕机后,不
    影响整个系统的运作?


类别:Nginx | | 添加到搜藏 | 分享到i贴吧 | 浏览(24) | 评论 (0)
上一篇:Nginx常用Rewrite(伪静态规则)    下一篇:CentOS5.1(squid2.6)下配置反向...


相关文章:
[url=]•[/url]三步安装完成nginx负载均衡设置(...         [url=]•[/url]强大的负载均衡+静态文件WEB服务...
[url=]•[/url]Nginx负载均衡配置的菜鸟修炼秘...         [url=]•[/url]Nginx负载均衡器排障实录
[url=]•[/url]windows使用nginx实现网站负载均...         [url=]•[/url]nginx for windows之负载均衡
[url=]•[/url]Nginx缓存服务和负载均衡         [url=]•[/url]【zz】Nginx负载均衡基础知识
[url=]•[/url]Nginx负载均衡和LVS负载...         [url=]•[/url]window下跑nginx,轻松实现负载均...
更多>>


最近读者:
登录后,您就出现在这里。
 楼主| 发表于 2010-11-22 08:22:40 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-11-22 06:45 , Processed in 0.121163 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表