Nginx入门之负载均衡配置

本文是通过phpstudy带的nginx实现的,如需下载nginx访问

Nginx负载均衡一些基础知识:

nginx 的 upstream目前支持 4 种方式的分配 

1)、轮询(默认) 

  每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 

2)、weight 

  指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 

2)、ip_hash 

  每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。  

3)、fair(第三方) 

  按后端服务器的响应时间来分配请求,响应时间短的优先分配。  

4)、url_hash(第三方)

配置步骤

1打开nginx.conf文件

2配置Upstream模块

在http{}内添加

upstream  webservice   
{
    server   192.168.11.13:10011 weight=5 max_fails=2 fail_timeout=30s;
    server   192.168.11.13:10010 weight=1 max_fails=2 fail_timeout=30s;
}

3配置访问服务

server
{
    listen  80;
    server_name  www.linghaoeji.top;
 
    location / {
        proxy_pass        http://webservice;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

这里不知道什么原因 只有配置在80端口是才可以实现,等研究出问题了在更新。。。

4配置模块对应的项目

server {
        listen       10011;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
            root   "D:/phpStudy/WWW/ICMPTemplate/public";
        location / {
            index  index.html index.htm index.php l.php;
          if (!-e $request_filename) {
       rewrite ^(.*)$ /index.php?s=/$1 last;
       break;
          }
        }

        #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   "D:/phpStudy/WWW/ICMPTemplate/public";
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php(.*)$  {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

5动态图

猜你喜欢

转载自blog.csdn.net/qq_29099209/article/details/81384659