nginx做负载均衡反向代理的配置

nginx.conf配置文件内容:

#根据服务器核心数设定
worker_processes  1;
error_log    /usr/local/nginx/logs/nginx_error.log    crit;
pid          /usr/local/nginx/nginx.pid;
worker_rlimit_nofile   51200;
events {
     use epoll;
     worker_connections 51200;
}
http {
    include            mime.types;
    default_type    application/octet-stream;
    source_charset GB2312;
    server_names_hash_bucket_size 256;
    client_header_buffer_size 256k;
    large_client_header_buffers 4 256k;
    #size limits
    client_max_body_size            50m;
    client_body_buffer_size        256k;
    client_header_timeout    3m;
    client_body_timeout 3m;
    send_timeout            3m;
    sendfile on;
    tcp_nopush        on;
    keepalive_timeout 120; #参数加大,以解决做代理时502错误
    tcp_nodelay on;

    #定义一个服务器列表,weight代表权重,值越高越容易分配到.
    upstream webservers{
        server 192.168.12.2:80 weight=1;
        server 192.168.12.3:80 weight=2;
        #nginx支持的几种算法,1,轮询 2,weight 3,ip hash 4,fair(第三方) 5,url_hash (第三方)
        #ip_hash为每个请求按访问ip的hash结果分配,每个访客有固定的后端服务器,可以解决session问题
        ip_hash;
    }
    server {
        listen                80;
        server_name  192.168.12.1;
        charset GB2312;
        location / { 
        #使用proxy_pass代替一般配置中的fastcgi_pass
        proxy_pass         
        proxy_redirect off ;
        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 256k;
        proxy_connect_timeout 30;
        proxy_send_timeout 30;
        proxy_read_timeout 60;
        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; 
        }
    }
}
时间: 2024-08-25 21:16:45

nginx做负载均衡反向代理的配置的相关文章

Nginx HTTP负载均衡/反向代理的相关参数测试

原文地址:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/03/15/1984976.html 测试目的 (1)弄清楚HTTP Upstream 模块中Server指令的max_fails与fail_timeout参 数的关系.它们对后端服务器健康情况的检查起到了什么作用.它们的取值对Http proxy模块中的其它指令是否有直接或间接的影响等…… (2)测试HTTP Proxy模块中proxy_next_upstream.proxy

nginx做负载均衡配置文件

nginx做负载均衡是在反向代理的基础上做的,代码如下: Java代码   ## Basic reverse proxy server ## ## Apache backend for www.baidu.com ## upstream henushang  { # 不过最好换成你们的服务器测试,因为我测试的时候使用jd和baidu的都没有连接成功,         # 换成自己的服务器就行了,估计是那里有限制,如果哪位知道,请指教 server www.jd.com weight=1; # 或

Nginx做负载均衡时session共享问题详解

用nginx做负载均衡时,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 再者Nginx连接Memcached集群时,Nignx的请求从memcached服务器中根据key获得了value则直接返回value,如果没有获得到value则去MySQL中查询再返回. location / { set $memcached_key "$request_uri"; #设置请求memcached服务器的key memca

使用nginx做负载均衡造成的session共享问题

PHP服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态,下面提供了几种方式来解决session共享的问题: 1.不使用session,换用cookie session是存放在服务器端的,cookie是存放在客户端的,我们可以把用户访问页面产生的session放到cookie里面,就是以cookie为中转站.你访问web服务器A,产生了session然后把它放到cookie里面,当你的

Nginx 做负载均衡的几种轮询策略

网上看见nginx的upstream目前支持的5种方式的分配,摘录备忘. 1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.upstream backserver {server 192.168.0.14;server 192.168.0.15;} 2.weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况.upstream backserver {server 192.168.0.14 weight=10;serv

Nginx 负载均衡反向代理

一.集群介绍以及常用集群硬件知识介绍及选型 1.负载均衡以及高可用集群的作用1).负载均衡集群的作用:a.分担用户访问请求及数据流量(负载均衡)b.保持业务连续性,即 7x24 小时服务(高可用性)c.应用于 web 业务及数据库从库等服务器的业务.负载均衡集群典型的开源软件:LVS.Nginx.Haproxy2).高可用集群的作用:a.当一台机器宕机时,另外一台机器接管宕机的机器的 IP 资源和服务资源,提供服务.b.常用于不易实现负载均衡的应用,比如负载均衡器,主数据库.主存储对之间.高可用

nginx的负载均衡,代理等功能详解

Nginx的负载均衡: (1)nginx的算法: upstream目前支持 4 种方式的分配 1).轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2).weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况. 2).ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题. 3).fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先

Nginx做负载均衡无法加载css,js

配置完nginx,访问tomcat时发现,tomcat显示如下图: 从这个状态可以看出,猜测可能是css和js这些文件没有加载. 不仅如此,访问部署在tomcat项目的页面也是一样的,不同nginx访问tomcat下的项目时这样的: 通过nginx作为代理服务器,访问到的页面是这样的: 这些情况显然都是因为通过nginx作为负载均衡服务器时候,无法正常加载css和js这些文件而出现这样的问题,通过一番搜索和查找,修改了nginx下的nginx.conf配置文件才得以正常显示,修改的配置如下: 增

nginx配置+虚拟主机+负载均衡+反向代理

nginx启动+控制+配置文件 /usr/local/nginx/nginx    #启动 /usr/local/nginx/nginx -s reload    #重新加载配置文件,不需重启nginx进程 ##nginx.conf配置文件详解 nginx的配置文件相比apache,比较清晰.简单,大致分为几块: main events    {     .... } http    {     ...     upstream PROJECT_NAME    {        ##负载均衡服务