您的位置:首页 > 理论基础 > 计算机网络

nginx http和https 多域名负载均衡

2016-12-26 17:08 701 查看
安装nginx 参考我上篇http://blog.csdn.net/saga_gallon/article/details/53728669

一 ,主配置文件内容如下
nginx.conf 的内容

user  nginx nginx;                 # 用户和用户组

worker_processes  1;              
#开启几个子线程

#error_log  logs/error.log;  

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;
#error_log /usr/localinx/logsinx_error.log crit;
    #错误日志级别,crit是非常严谨的级别

 

#pid        logs/nginx.pid;

events {

    worker_connections  1024;

}

http {

    include       proxy.conf;               #缓存的内容

    include       mysvrhost.conf;             #负载均衡集群

    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 300m;

    

    sendfile        on;

    tcp_nopush     on;

    #keepalive_timeout  0;

    keepalive_timeout  65;

    tcp_nodelay on;

    server_tokens off;

    

    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;

    server {

        listen       80;

        server_name  _;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root html;

            return 404;

        }

        location ~ /.ht{

        deny all;

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

include vhost/*.conf;          #虚拟主机的配置文件和主配置文件单独写,而不是写在主配置文件中
         

}

二,缓存内容文件 proxy.conf

proxy_temp_path  /home/proxy_temp_dir;

proxy_cache_path  /home/proxy_cache_dir levels=1:2 keys_zone=cache_one:50m inactive=1d max_size=1g;

client_body_buffer_size  512k;

proxy_connect_timeout  60;

proxy_read_timeout  60;

proxy_send_timeout  60;

proxy_buffer_size  32k;

proxy_buffers 4  64k;

proxy_busy_buffers_size  128k;

proxy_temp_file_write_size  128k;

proxy_next_upstream  error timeout invalid_header http_500 http_503 http_404;

proxy_cache  cache_one;

三,负载均衡集群  mysvrhost.conf

upstream aaa.cn {

    server 192.168.2.32:80 weight=1 max_fails=22 fail_timeout=180s;

}

四,/usr/local/nginx/conf/vhost/ 下的 http 和https 虚拟主机配置文件。http.conf  和https.conf 。我这里只有一个https 的配置文件,如果是多个域名证书,直接再加一个https.conf 文件就可以了,改下文件名字和内容就可以了

http.conf

server {

        listen    80;

        server_name  *.a.cn *.b.cn *.c.com  *.d.cn;

    location /

        {

        proxy_pass http://aaa.cn;            #负载均衡的名称

        proxy_cache_key $host$uri$is_args$args;

        proxy_set_header Host $host;

        proxy_set_header X-Forwarded-For $remote_addr;

        proxy_cache_valid 200 304 12h;

        expires   2d;

        }

    location ~ /purge(/.*)

        {

        allow    127.0.0.1;

        allow    192.168.2.0/24;

        deny     all;

}

    location ~ .*\.(php|jsp|cgi|asp|aspx|flv|swf|xml)?$

        {

            proxy_set_header  Host  $host;

            proxy_set_header  X-Forwarded-For $remote_addr;

            proxy_pass http://aaa.cn;
        }

       access_log  off;

}

https.conf

server {

    listen 443;

    server_name *.a.cn;

    ssl on;

    ssl_certificate  /root/a.pem;

    ssl_certificate_key  /root/a.pem;

    ssl_session_timeout   5m;  

    ssl_protocols  SSLv2  SSLv3 TLSv1;  

    ssl_ciphers  HIGH:!aNULL:!MD5;  

    ssl_prefer_server_ciphers   on;  

    location / {

        proxy_pass http://aaa.cn;
        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;             

        client_max_body_size       100m;              

        index  index.html index.htm;  

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx 负载均衡 域名