N年前Nginx 负载均衡在金山逍遥网中的应用

在金山逍遥网中,前端负载均衡服务器采用的是Nginx,两台Nginx服务器为一组,承担多种类型的负载均衡服务,两台负载均衡服务器均处于活动状态,各自绑定一个公网虚拟IP,作为负载均衡服务器,当其中一个发生故障时,另一台接管发生故障服务器的虚拟IP。配置nginx.conf代码如下

代码:

user www www;
work_processes 8;
error_log /data1/logs/nginx_error.log crit;
pid /usr/local/webserver/nginx/nginx.pid;

#specifies the value for maximum file descriptors that can be opened by this process worker_rlimit_nofile 51200

events
{
    use epoll;
    worker_connections 51200;
}

http
{
     include    mine.types;
     default_type  application/octet-strem;

     #charset utf-8

     server_names_hash_bucket_size 128k;
     client_header_buffer_size  32k;
     large_client_header_buffers 4 32k;

     sendfile on;
     #tcp_nopush on;

     keepalive_timeout 30;
     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.1
     gzip_comp_level 2;
     gzip_types  text/plain  application/x-javascript  text/css  application/xml;
     gzip_vary on;

    limit_zone anti_attack $binary_remote_addr 10m;

    #允许客户端请求的最大单文件字节数
    client_max_body_size 300m;

    #缓冲区代理缓冲用户端的最大字节数 可以理解为现存到本地再传给用户
    client_body_size 128k;

    #跟后端服务器连接的超时时间_发起握手等候响应超时时间
    proxy_connect_time 600;

    #连接成功后_等待后端服务器响应时间_其实已经进入后端的派对等候处理
    proxy_read_timeout  600;

    #后端回传时间_规定时间内传完所有数据
    proxy_send_timeout  600;

    #代理请求缓存区,保存用户的头信息以供Nginx进行规则处理
    proxy_buffer_size  16k;
    proxy_buffers   4  32k;
    proxy_busy_buffers_size  64k;
    proxy_temp_file_write_size 64k;

    #缓存
    proxy_temp_path /data2/proxy_temp_path;
    proxy_cache_path  /data2/proxy_cache_path levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=5;

    upstream myserver_pool{
        server xx.xx.xx.1:80 weight=1 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.2:80 weight=1 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.3:80 weight=1 max_fails=2 fail_timeout=30s;
    }

    upstream php_server_pool{
        server xx.xx.xx.4:80 weight=1 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.5:80 weight=1 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.6:80 weight=1 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.7:80 weight=1 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.8:80 weight=1 max_fails=2 fail_timeout=30s;
    }

    upstream bbs_server_pool{
        ip=hash;
        server xx.xx.xx.9:80 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.10:80 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.11:80 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.12:80 max_fails=2 fail_timeout=30s;
    }

    upstream cms_server_pool{
        server xx.xx.xx.13:80 weight=1 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.14:80 weight=1 max_fails=2 fail_timeout=30s;
    }

    upstream pic_server_pool{
        server xx.xx.xx.15:80 weight=1 max_fails=2 fail_timeout=30s;
        server xx.xx.xx.16:80 weight=1 max_fails=2 fail_timeout=30s;
    }

    upstream xoyohimsg_server_pool{
        server xx.xx.xx.17:3245;
        server xx.xx.xx.18:3245 down;
    }

    #xoyo.com域名调转到www.xoyo.com

    server
    {
        listen 80;
        server_name xiyo.com;

        rewrite ^/(.*) http:xoyo.com/ permanent;

        acces_log /data1/logs/xoyo.com_access.log;
    }

    #用户中心HTTP/SSL加密浏览
    server
    {
        listen 443;
        server_name my.xoyo.com

        ssl on;
        ssl_cretificate  my.xoyo.com.crt;
        ssl_cretificate_key my.xoyo.com.key;

    location /
    {
        proxy_pass http://php_server_pool;
        proxy_set_header Host my.xoyo.com;
        proxy_set_header X-Forward-For $remote_addr;
    }
    access_log /data1/logs/my.xoyo.com_access.log;

    }

    #图片服务器,不同的路径访问后端不同的服务器
    server
    {
        listen 80;
        server_name pic.xoyo.com;

        location /cms/
        {
        proxy_pass http://cms_server_pool;
        proxy_set_header Host pic.xoyo.com;
        proxy_set_header X-Forward-For $remote_addr;
        }
        access_log /data1/logs/pic.xoyo.com_access.log;
    }

    #音频电台文件下载,进行简单防盗链
    #limit_zone media %binary_remote_addr 10m;
    server
    {
        listen 80;
        server_name media.xoyo.com;

        location /
        {
        proxy_pass http://cms_server_pool;
        proxy_set_header Host $host;
        proxy_set_header X-Forward-For $remote_addr;

        valid_reference nine blocked www.xoyo.com *.xoyo.com  www.kingsoft.com  *.kingsoft.com  www.kingsoft.cn  *.kingsoft.cn;
        if ($invalid_referers){
            rewrite ^/ http://www.xoyo.com;
        }
        }
        access_log /data1/logs/media.xoyo.com_access.log;
    }
    #“逍遥有聊”WebIM产品的负载均衡,反向代理两种HTTP服务器
    server
    {
        listen  80;
        server_name hi.xoyo.com;
    #反向代理一款定制开发的高性能消息队列HTTP服务器
    location /recmessage.xoyo
    {
        proxy_pass http://xoyohimsg_server_pool;
        proxy_set_header Host $host;
    }

    location /
    {
        proxy_pass http://php_server_pool;
        proxy_set_header Host $host;
        proxy_set_header X-Forward-For $remote_addr;

    }

    access_log /data1/logs/hi.xoyo.com_access.log;

    #论坛负载均衡并对图片、Flash、JavaScript、CSS、静态HTML进行Web缓存
    server {
    listen   80;
    server_name bbs.xoyo.com *.bbs.xoyo.com bbs.xoyo.kingsoft.com;

    location /
    {
        proxy_pass http://bbs_server_pool;
        proxy_set_header Host $host;
        proxy_set_header X-Forward-For $remote_addr;

    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|html|shtml)$
    {
        proxy_cache  cache_one;
        proxy_cache_valid  200 10m;
        proxy_cache_valid  304 1m;
        proxy_cache_valid  301 302 ih;
        proxy_cache_valid  any 1m;
        proxy_cache_key $host$uri$is_args$args;
        proxy_set_header  Host  $host;
        proxy_set_header X-Forward-For $remote_addr;
        proxy_pass http://bbs_server_pool;

    }
    log_format bbs ‘$remote_addr $host  $remote_user [$time_local] "$request"‘
    ‘"$status" $body_bytes_sent "$http_referer"‘
    ‘"$http_user_agent"   "$http_x_forwarded_for"‘;
access_log /data1/logs/bbs.xoyo.com_access.log bbs;

}
    #论坛附件反向代理,限制下载速度为256k/秒
    server{
        listen 80;
        server_name  att03.bbs.xoyo.com  att02.bbs.xoyo.com  att01.bbs.xoyo.com;

    location /{
        #限制下载速度为256k/s
        limit_rate 256k;
        proxy_pass http://xx.xx.xx.19;
        proxy_set_header Host $host;
        proxy_set_header X-Forward-For $remote_addr;
    }
    access_log off;
}

#逍遥江湖SNS社区,管理后台定位到一台服务器上,并对图片,flash,javascript,CSS进行web缓存

    server
    {
        listen  80;
        server_name  hu.xoyo.com  *.hu.xoyo.com;

        location /
        {

        proxy_pass http://php_server_pool;
        proxy_set_header Host $host;
        proxy_set_header X-Forward-For $remote_addr;
        }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
    {
        proxy_cache  cache_one;
        proxy_cache_valid  200 10m;
        proxy_cache_valid  304 1m;
        proxy_cache_valid  301 302 ih;
        proxy_cache_valid  any 1m;
        proxy_cache_key $host$uri$is_args$args;
        proxy_set_header  Host  $host;
        proxy_set_header X-Forward-For $remote_addr;
        proxy_pass http://php_server_pool;
    }

    location ~ ^/admincp.php
    {
        proxy_set_header  Host  $host;
        proxy_set_header X-Forward-For $remote_addr;
        proxy_pass http://xx.xx.xx.4;

    }
    access_log /data1/logs/hu.xoyo.com_accsee.log;
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-01 22:42:57

N年前Nginx 负载均衡在金山逍遥网中的应用的相关文章

N年前Nginx负载均衡在新浪播客中的应用

2008年的新浪播客由静态服务器集群和动态服务器集群两部分组成,静态服务器集群采用Squid做前端缓存,动态服务器也称接口服务器,主要用来实现显示播放数,记录播放日志等等. 接口服务器上采用F5 BIG-IP硬件四/七层负载均衡交换机,对4台Nginx反向代理服务器进行四层负载均衡,由这四台nginx服务器判断 URL,进行分组,对后端3组web服务器进行七层负载均衡. F5 BIG-IP后端的3组web服务器,配置不一样,第一组内存密集型,技术主要是PHP+Mencache服务: 第2组为 C

A10负载均衡设备GSLB(入向链路负载均衡)部署在内网中的实际应用

前不久本人负责了一个全国制造业有名集团的负载均衡项目感触颇深通过项目了解到GSLB在特定环境当中的应用并且学到了许多相关的负载均衡知识.今天静下心来想想通过项目确确实实可以学到很多东西项目实施过程当中也碰到相当多的问题现将项目的总体情况以及实施步骤方法写在下面有碰到相关项目的情况大家能够以此作为参考. A10放在内网中,设备旁路部署并且连接至内网中的核心交换机,核心交换机与防火墙相连,防火墙与多个运营商链路相连,所有出入公网的数据都通过防火墙. 内网有多个应用服务,外网有三条链路分别对应三个不同

nginx负载均衡+keepalive心跳检测

环境标准: 一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一 内核:2.6.32-642.el6.x86_64 系统:CentOS release 6.8 (Final) ip: web01:10.0.0.8 nginx 解析手机端 均做了nginx的负载均衡但是只均衡一台机器可以后续往里填 web02:10.0.0.200 nginx 解析电脑端 均做了nginx的负载均衡但是只均衡一台机器可以后续往里填 lb01

12.17 Nginx负载均衡;12.18 ssl原理;12.19 生产ssl密钥对;12.20 Nginx配置ssl

扩展: 针对请求的uri来代理 http://ask.apelearn.com/question/1049 根据访问的目录来区分后端web http://ask.apelearn.com/question/920 12.17 Nginx负载均衡 1. 安装dig命令: [[email protected] ~]# yum install -y bind-utils 2. 用dig获取qq.com的ip地址: [[email protected] ~]# dig qq.com 3. 创建ld.co

Linux CentOS搭建JDK+Mysql+Tomcat+Nginx负载均衡环境      

本文使用了Tomcat+Nginx环境,主要起到负载均衡的作用,使用Tomcat处理jsp后台程序,使用Nginx处理静态页面. 准备工作(下载软件版本,请自行百度下载) 安装包放至:/usr/local/src 安装地址:/usr/local/软件名 1.apache-tomcat-6.0.48 2.mysql-5.5.54 3.nginx-1.6.3 4.cmake-2.8.8 5.pcre-8.40 6.jdk-8u11-linux-x64 7.openssl-1.1.0d(https使用

nginx负载均衡

nginx负载均衡 Nginx负载均衡的理解 Nginx是一个轻量级的.高性能的WebServer,他主要可以干下面两件事: 作为http服务器(和apache的效果一样) 作为反向代理服务器实现负载均衡 现在Nginx到处都可以见到,经常会看到宕机后的网页会显示nginx的字样,这也说明Nginx由于高性能.使用配置简.开源单这些特点被越来越多的用户所接受,所使用. 其中第一种作为http服务器,结合php-fpm进程,对发来的请求进行处理,nginx本身并不会解析php,他只是作为一个服务器

lvs、haproxy、nginx 负载均衡的比较分析

lvs.haproxy.nginx 负载均衡的比较分析 对软件实现负载均衡的几个软件,小D详细看了一下,从性能和稳定上还是LVS最牛,基本达到了F5硬件设备的60%性能,其他几个10%都有点困难. 不过就因为LVS忒牛了,配置也最麻烦了,而且健康检测需要另外配置Ldirector,其他HAPROXY和NGINX自己就用,而且配置超级简单. 所以小D建议,如果网站访问量不是门户级别的用HAPROXY或者NGINX就OK了,到了门户级别在用LVS+Idirector吧 哈哈 lvs和nginx都可以

Nginx 负载均衡

原文地址:http://nginx.com/resources/admin-guide/load-balancer/ Nginx Load Balancing nginx 负载均衡 This section describes how to use NGINX and NGINX Plus as a load balancer. 本章将讨论如何使用Nginx和Nginx加做负载均衡器. In This Section 本章包括 Load balancing overview 负载均衡概览 Pro

day10 nfs服务,nginx负载均衡,定时任务

=====================nginx 负载均衡======================= 实现nginx负载均衡的效果,并运用nfs服务共享目录,使所有nginx服务拥有共同的http目录 nginx安装:http://www.cnblogs.com/alwaysInMe/p/6924859.html nfs安装:NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定. ===>  环境配置及软件安装 注:本次安装用的是cent