服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

运维之家

 找回密码
 注册
搜索
查看: 5005|回复: 1

Nginx 简单的负载均衡配置示例

[复制链接]
dirtysea 发表于 2010-4-15 01:02:25 | 显示全部楼层 |阅读模式
Nginx负载均衡器的优点许多,简单概括为:
①实现了可弹性化的架构,在压力增大的时候可以临时添加tomcat服务器添加到这个架构里面去;
②upstream具有负载均衡能力,可以自动判断下面的机器,并且自动踢出不能正常提供服务的机器;而Keepalvied可保证单个nginx负载均衡器的有效性,避免单点故障


www.test.com 和 blog.test.com 域名均指向 Nginx 所在的服务器IP。

  用户访问http://www.test.com,将其负载均衡到222.73.182.48:80、www.baidu.com:80 两台台服务器。

  用户访问http://blog.test.com,将其负载均衡到192.168.0.1服务器的81端口。

  以下为配置文件nginx.conf:

引用
user  www www;
worker_processes 10;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
#最大文件描述符
worker_rlimit_nofile 51200;
events
{
      use epoll;
      worker_connections 51200;
}
http
{
      include       mime.types;
      default_type  application/octet-stream;
      keepalive_timeout 120;
      tcp_nodelay on;
      upstream  www.test.com  {
              server   222.73.182.48:80;
              server   www.baidu.com:80;
      }
      upstream  blog.test.com  {
              server   192.168.0.1:81;
      }
      server
      {
              listen  80;
              server_name  www.test.com;
    index index.html index.htm index.php;
    root  /var/html/www;
          location / {
                       proxy_pass        http://www.test.com;
                       proxy_set_header   Host             $host;
                       proxy_set_header   X-Real-IP        $remote_addr;
                       proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
              }
              log_format  www_test_com  '$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/www.log  www_test_com;
      }
      server
      {
              listen  80;
              server_name  blog.test.com;
    index index.html index.htm index.php;
    root  /var/html/blog;
              location / {
                       proxy_pass        http://blog.test.com;
                       proxy_set_header   Host             $host;
                       proxy_set_header   X-Real-IP        $remote_addr;
                       proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
              }
              log_format  blog_test_com  '$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/blog.log  blog_test_com;
      }
  server
  {
    listen  80;
    server_name  status.test.com;
    location / {
    stub_status on;
    access_log   off;
    }
  }
}


  附:Nginx 的安装方法可参照《Nginx 0.5.31 + PHP 5.2.4(FastCGI)搭建可承受3万以上并发连接数,胜过Apache 10倍的Web服务器》文章的以下段落(仅做负载均衡,无需支持PHP的安装方法):

  二、安装PHP 5.2.4(FastCGI模式)
  4、创建www用户和组,以及其使用的目录:

  三、安装Nginx 0.5.31
  1、安装Nginx所需的pcre库:
  2、安装Nginx
  3、创建Nginx日志目录
  5、启动Nginx




来源:http://blog.s135.com/post/306/
 楼主| dirtysea 发表于 2010-5-9 03:08:43 | 显示全部楼层
一个简单的负载均衡的示例,把www.domain.com均衡到本机不同的端口,也可以改为均衡到不同的地址上。http { upstream myproject { server 127.0.0.1:8000 weight=3; server 127.0.0.1:8001; server 127.0.0.1:8002; server 127.0.0.1:8003; } server { listen 80; server_name www.domain.com; location / { proxy_pass http://myproject; } }}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|运维之家

GMT+8, 2024-4-20 21:36 , Processed in 0.242977 second(s), 14 queries .

Powered by Dirtysea

© 2008-2020 Dirtysea.com.

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