2014-02-07 21:30:30
来 源
ITJS.CN
Apache
本文介绍Nginx+Apache环境测试负载均衡,希望对于初学Nginx服务器相关的朋友有帮助,更多Nginx安装、配置、报错处理等资源请本站内搜索。。

先准备几台虚拟机写下对应的配置

192.168.1.54  ------------------------>ubuntu11.4+nginx0.8.54 +php5.3.5 +msyql5.1(负载均衡服务器,这里没用到php和mysql)

192.168.1.53  ------------------------>centos5.5 + apache+php5.3.5+mysql5.1(web服务器)

192.168.1.55  ------------------------>centos5.5 + apache+php5.3.5+mysql5.1(web服务器)

1.简单的根据请求后缀名来分别访问不同服务器,修改/etc/nginx/site_available/default

要求对*.php的访问都指向1.55,对*.html的访问都指向1.53

server {

    listen   80;

    index index.php index.html index.htm;

    server_namewww.test.com;

#关键配置  

location ~ .php$ {

       proxy_pass http://192.168.1.55;    location ~ .html$ {

proxy_pass http://192.168.1.53;

   }

2.简单的按域名分别访问不同的服务器,好像又叫反向代理

这个版本的nginx配置分散在几个文件中,其中/etc/nginx/nginx.conf配置为全局配置,而/etc/nginx/site_available/default文件中包含的是各个虚拟服务器的配置信息,然后/etc/nginx/nginx.conf再包含进/etc/nginx/site_available/default

这里我们有两个域名img.test.com和www.test.com,都指向192.168.1.54,所有访问都到192.168.1.54 ,然后192.168.1.54 再根据不同的域名访问后端不同的服务器,所有对img.test.com的访问都导向192.168.1.53,而所有对www.test.com的访问都导向192.168.1.55

处理方法:

先配置/etc/nginx/nginx.conf

加入如下设置,

upstream img.test.com{

        server 192.168.1.53:80;    

    }

    upstream www.test.com{

        server 192.168.1.55:80;    

    }

然后修改/etc/nginx/site_available/default,配置两个sever

server {

    listen   80;

    index index.php index.html index.htm;

    server_name jssns.jse.edu.cn;    location / {

        proxy_pass    http://jssns.jse.edu.cn;

        proxy_set_header    Host    $host;

        proxy_set_header    X-Real-IP    $remote_addr;

        proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;

    }

}server {

    listen   80;

    index index.php index.html index.htm;    server_name img.jse.edu.cn;    location / {

        proxy_pass    http://img.jse.edu.cn;

        proxy_set_header    Host    $host;

        proxy_set_header    X-Real-IP    $remote_addr;

        proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;

    }

}

3.多服务器简单负载均衡

在二的基础上直接在修改/etc/nginx/nginx.conf,假设我们还有两个服务器1.56:8080,1.57,55上开启了两个web服务器,分别使用80和8081端口

upstream img.test.com{

        server 192.168.1.53:80; 

server 192.168.1.56:8080;  

    }

    upstream www.test.com{

        server 192.168.1.55:80; 

server 192.168.1.55:8081;

    server 192.168.1.57:80;  

    }

nginx会在将所有到img.test.com,均衡到192.168.1.53:80和192.168.1.56:8080;  所有www.test.com的请求均衡到192.168.1.55:80; 192.168.1.55:8081; 192.168.1.57:80;  

4.多服务器同步负载均衡(session复制)

待补充。。。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。