您的位置:首页 > 运维架构 > Nginx

nginx 负载均衡配置以及用proxy_redirect替换URL

2017-04-17 17:22 441 查看
#user  nobody;

#nginx进程数要与本机的cpu的核心数相同

worker_processes  4;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

    worker_connections  1024;

}

http {
    include       mime.types;

##这些基本配置一定要带着,否则容易出现页面无法加载的情况。

    server_names_hash_bucket_size 256;

    client_header_buffer_size 256k;

    client_max_body_size 150m;

    client_body_buffer_size 256k;

    client_body_temp_path /tmp 3 2;

    client_header_timeout 10;

    client_body_timeout 10;

    server_tokens off;

    send_timeout 10;  

    sendfile on;

    tcp_nopush on;

    tcp_nodelay on;

    keepalive_timeout 30;
##cache## 开启nginx缓存配置(用于缓存css js 等静资源提高访问速度)
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/temp;
proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
##end##

    gzip on;

    #access_log logs/access.log;

    upstream tomcats {

        server 172.16.7.21;

        server 172.16.7.23;

        server 172.16.7.24;

        server 172.16.7.25;

    }
    server {

        listen       8081;

##cache-begin## 

location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {

             proxy_pass http://tomcats;
             proxy_redirect http://221.1.122.86 http://$host:9102;
proxy_redirect http://172.16.7.10 http://$host:8081;

             proxy_set_header Host $host;

             proxy_cache cache_one;

             proxy_cache_valid 200 302 1h;

             proxy_cache_valid 301 1d;

             proxy_cache_valid any 1m;

             expires 30d;
       }

###cache-end#

        location / {

             proxy_set_header Host $host;

             proxy_set_header X-Real-IP $remote_addr;

             proxy_set_header REMOTE-HOST $remote_addr;

             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

             client_max_body_size 50m;

             client_body_buffer_size 50m;

             proxy_connect_timeout 180;

             proxy_send_timeout 120;

             proxy_read_timeout 3600;

             proxy_buffer_size 256k;

             proxy_buffers 4 256k;

             proxy_busy_buffers_size 256k;

             proxy_temp_file_write_size 256k;

             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;

             proxy_max_temp_file_size 128m;
             proxy_pass http://tomcats;
##这个地方使用proxy_redirect 解决重定向路径替换问题,例如本人用内网测试时,内网端口是8081,当访问项目时或登陆时,程序重定向的端口是80,为了解决这种情况采用proxy_redirect 将内网访问地址和外网访问地址替换,以解决程序不能正常跳转的问题.

proxy_redirect http://221.1.122.86 http://$host:9102;
proxy_redirect http://172.16.7.10 http://$host:8081;

        }

    }

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