Nginx反向代理以及配置优化

标签: nginx 反向代理 优化 | 发表时间:2013-05-05 13:48 | 作者:liuzhoulong
出处:http://blog.csdn.net

下面配置包含了,nginx配置的一个比较全面的反向代理的例子:

user www www
worker_processes  8;



events {
    use epoll;
    worker_connections  10240;
}

pid       /opt/work/log/nginx.pid;
error_log /dev/null error;

http {

    include /opt/nginx/conf/mime.types;
    default_type     text/html;

     log_format  pv  '[$time_local]|$remote_addr|$cookie_SUV|$args|$http_referer|$http_user_agent';

     log_format   main '$request_time $remote_addr $cookie_SUV [$time_local]  $status '  '"$request" $body_bytes_sent "$http_referer" '  '"$http_user_agent" "$http_x_forwarded_for"'  '"$cookie_Fr"';
    
     log_format  pbmain    '$remote_addr - $remote_user [$time_local] "$request" '
                                '$status $body_bytes_sent "$http_user_agent"';
     access_log off;

     sendfile    on;


     keepalive_timeout  0;

    gzip  on;
    
    #允许客户端请求的最大单个文件字节数
    client_max_body_size    200m;
    upload_progress proxied 8m;
    
    #DNS服务器ip
    resolver 192.168.1.1;
    
    proxy_set_header Host $http_host;
    proxy_set_header x-forwarded-for  $remote_addr;
    proxy_cache_key  "$scheme$host$request_uri";
    proxy_cache_path /opt/work/cache levels=1:2:1 keys_zone=js_cache:100m max_size=1024m inactive=15d;
    proxy_cache_valid any 15d;

    upstream backend {
        ip_hash;
        server  127.0.0.1:8080 weigth=4 max_fails=2 fail_timeout=30s;
        server  127.0.0.1:8081 weigth=3 max_fails=2 fail_timeout=30s;
    }
    upstream liveBackends {
       server   192.168.1.15:9090;
       server   192.168.1.16:9090;
       #备机
       server   192.168.1.17:9090 backup;
     }

    server{
        listen 80;
        server_name www.myserver1.com;
    	error_log   /opt/work/log/nginx_error.log error;
        client_max_body_size    200m;
        proxy_set_header Host $http_host;
        proxy_set_header x-forwarded-for  $remote_addr;
        proxy_buffer_size         64k;
        proxy_buffers             32 64k;
    
        #查看服务状态
        location /server-status {
               stub_status on;
               access_log   off;
               allow all;
        }
        location ^~ /pv
        {
            access_log  /opt/work/log/nginx_access.log  pv;
            proxy_pass http://backend;
        }
  
        location ^~ /cc.do
        {
            proxy_pass http://backend;
        }
        location ^~/favicon.ico{
            alias /usr/local/src/web/favicon.ico;
         }

       location ^~ /pvlog
        {
            access_log  /opt/work/log/pv/nginx_access.log  pv;
	    access_log  /opt/work/log/main/nginx_access_main.log pv_main;
            error_log   /opt/work/log/error/nginx_error.log error;
            return 204;
        }
    
       location /proxy/
        {
	    #后端返回502,504,执行超时等错误,自动将请求转发到upstream负载池中另一台服务器
            proxy_next_upstream  http_502 http_504 error timeout invalid_header;
	    proxy_pass http://backend;  
        }
        #禁止访问除以外的其他目录
        location /{
           deny all;
        }
    }

     server{
        listen       80;
        server_name  www.myserver2.com;
        root         /www; 
	location ~ t1\.(gif)$ {
		root /www;
		expires -1;
                access_log      /data/log/access.log  pbmain;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            
	}

        location ~ t2.(gif)$ {
                root /www;
                expires -1;             
                access_log      /data/log/access.log  pbmain;
                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
             if ($args ~ "ltype=1(&|$)") { 	 							
  		proxy_pass http://liveBackends;
	     }
        }

       
	location /server-status {
                        stub_status     on;
                        access_log      off;
                        allow           10.0.0.0/8;
                        allow           192.168.0.0/16;
                        deny            all;
         }
        error_page  404              /404.html;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}


作者:liuzhoulong 发表于2013-5-5 13:48:26 原文链接
阅读:0 评论:0 查看评论

相关 [nginx 反向代理 优化] 推荐:

Nginx反向代理以及配置优化

- - CSDN博客推荐文章
下面配置包含了,nginx配置的一个比较全面的反向代理的例子:. #允许客户端请求的最大单个文件字节数. #后端返回502,504,执行超时等错误,自动将请求转发到upstream负载池中另一台服务器. 作者:liuzhoulong 发表于2013-5-5 13:48:26 原文链接. 阅读:0 评论:0 查看评论.

squid,nginx,lighttpd反向代理的区别

- - 企业架构 - ITeye博客
[转载自]http://www.cnblogs.com/yihang/archive/2010/12/19/1910363.html. squid,nginx,lighttpd反向代理的区别. 反向代理从传输上分可以分为2种:. 1:同步模式(apache-mod_proxy和squid). 2:异步模式(lighttpd 和 nginx).

Nginx多Server反向代理配置

- - 企业架构 - ITeye博客
Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 下面我就来说说server_name的使用吧:. server_name的匹配顺序. nginx中的server_name指令主要用于配置基于名称虚拟主机,server_name指令在接到请求后的匹配顺序分别为:.

nginx反向代理访问带referer的后端

- - 开心平淡对待每一天。热爱生活
nginx反向代理访问带referer的后端 . 作者:ADMIN 发布时间:SEPTEMBER 16, 2011 分类: LINUX. 防外链大都是通过检查请求中的http referer来实现的. 如果通过反向代理来动态指定http referer是不是可以解决问题. 用nginx搭一个反向代理.

使用 Nginx 实现 TCP 反向代理 - 运维之美

- -
Nginx 在1.9.0版本发布以前如果要想做到基于TCP的代理及负载均衡需要通过打名为  nginx_tcp_proxy_module 的第三方patch来实现,该模块的代码托管在github上网址: https://github.com/yaoweibin/nginx_tcp_proxy_module/.

nginx缓存html静态文件,解析php及反向代理IIS的配置

- - 开源软件 - ITeye博客
       Nginx缓存html静态文件 解析php及反向代理IIS的配置,供初学的朋友参考. server_name k; #碰到域名为k的 就交给iis来运行. proxy_pass http://k:8080/;#我的IIS上面的站点即为http://k:8080. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ { #指定缓存文件类型.

Nginx性能优化

- - 博客 - 伯乐在线
Nginx作为一个非常流行和成熟的Web Server和Reserve Proxy Server,网上有大量的性能优化教程,但是不同的业务场景千差万别,什么配置是最适合自己的,需要大量的测试和实践以及不断的优化改进. 最近用户调用量突破百万大关之后,就遇到了一些问题,虽然不算太复杂,但也折腾了挺长时间才搞定,积累了不少经验.

反向代理服务器Nginx获得300万美元投资,将推出商业版本

- 幻幽 or A書 - 36氪
Nginx是10年前俄国工程师Igor Sysoev为俄国访问量第二大的网站Rambler.ru开发的高性能HTTP和反向代理服务器软件,今天他们宣布获得了来自包括Dell公司CEO Michael Dll私人投资公司等的300万美元投资. Nginx联合创始人Andrew Alexeev表示,通过这次融资,年底前他们将在旧金山开设办事处,并且在2012年会推出一个商业版本.

nginx配置反向代理或跳转出现400问题处理记录 - AllEmpty - 博客园

- -
访问这台服务器上的其他站点都能正常访问,而问题站点的html页面也能正常打开......在测试过程中发现,每访问一下问题接口,访问日志就增加30多M,刷了几次,nginx日志大小直线上升.......   百度了一下“400 Bad Request  Request Header Or Cookie Too Large”,查找出来的几乎都是说“nginx 400 Bad request是request header过大所引起,request过大,通常是由于cookie中写入了较大的值所引起.

Nginx配置性能优化

- - CSDN博客互联网推荐文章
大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了. 而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了. 然而,如果你真的想挤压出Nginx的性能,你必须更深入一些. 在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能.