龙空技术网

一分钟学会:搭建Nginx负载均衡

小林软件工作室 267

前言:

当前我们对“nginx怎么配置负载均衡”大约比较重视,姐妹们都想要了解一些“nginx怎么配置负载均衡”的相关知识。那么小编在网摘上收集了一些有关“nginx怎么配置负载均衡””的相关资讯,希望朋友们能喜欢,同学们快快来学习一下吧!

Nginx的简介就不多说了,直接说使用即可,我们用nginx来都是当做服务器来接受客户端的请求,内部转发到应用。这里介绍一下怎么用nginx来搭建负载均衡。

搭建负载均衡

有时候我们有几台服务器,用来缓解服务端的压力,那么此时可以用nginx搭建负载均衡,我这里就直接用端口区分即可,如下,在nginx.conf配置文件的http中加入内容:

server {        listen       8080;        server_name  localhost;        location / {            root   html;            index  index8080.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }    server {        listen       8081;        server_name  localhost;        location / {            root   html;            index  index8081.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }

当然这里要在html的目录下新建两个html: index8080.html、index8081.html.

然后,在http中再加入如下内容,设置负载均衡,负载均衡策略默认为轮询:

upstream first {       server  127.0.0.1:8080;       server  127.0.0.1:8081; }

最后,修改80请求的策略到负载均衡first:

server {    listen       80;    server_name  localhost;    location / {        proxy_pass         ;         proxy_set_header   Host             $host;         proxy_set_header   X-Real-IP        $remote_addr;         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;     }}

重新启动nginx,访问localhost,会发现轮询访问了8080和80801端口,到此负载均衡搭建完毕。

nginx的默认配置文件

这个跟本篇博文无关

#user  nobody;worker_processes  1;#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;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #                  '"$http_user_agent" "$http_x_forwarded_for"';    #access_log  logs/access.log  main;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    #gzip  on;    server {        listen       80;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   html;            index  index.html index.htm;        }        #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;        }        # proxy the PHP scripts to Apache listening on 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   ;        #}        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        #location ~ \.php$ {        #    root           html;        #    fastcgi_pass   127.0.0.1:9000;        #    fastcgi_index  index.php;        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;        #    include        fastcgi_params;        #}        # deny access to .htaccess files, if Apache's document root        # concurs with nginx's one        #        #location ~ /\.ht {        #    deny  all;        #}    }    # another virtual host using mix of IP-, name-, and port-based configuration    #    #server {    #    listen       8000;    #    listen       somename:8080;    #    server_name  somename  alias  another.alias;    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}    # HTTPS server    #    #server {    #    listen       443 ssl;    #    server_name  localhost;    #    ssl_certificate      cert.pem;    #    ssl_certificate_key  cert.key;    #    ssl_session_cache    shared:SSL:1m;    #    ssl_session_timeout  5m;    #    ssl_ciphers  HIGH:!aNULL:!MD5;    #    ssl_prefer_server_ciphers  on;    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}}

标签: #nginx怎么配置负载均衡 #nginxwindows负载均衡配置 #nginx的负载均衡配置