Nginx之负载均衡与反向代理

编程

 

1.轮循 每个请求逐个分发到后端服务器

2.加权轮循 按照分配的权重将请求分发到后端服务器

3.ip hash 轮询的基础上,保持一个客户端多次请求分发到一台后端服务器上

 

一、轮询配置

 #定义后端服务器组

upstream nginx-test{

server 192.168.0.128;

server 192.168.0.127;

}

server {

listen 8080;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

root "G:/phpstudy/nginx/html";

location / {

index index.html index.htm index.php l.php;

autoindex on;

proxy_pass http://nginx-test;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

location ~ .php(.*)$ {

fastcgi_pass 127.0.0.1:9001;

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;

}

}

 

二、轮询加权配置

 #定义后端服务器组

upstream nginx-test{

server 192.168.0.128 weight=2;

server 192.168.0.127;

server 192.168.0.126 backup; # 备份服务器,其他服务器宕机后启动

}

server {

listen 8080;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

root "G:/phpstudy/nginx/html";

location / {

index index.html index.htm index.php l.php;

autoindex on;

proxy_pass http://nginx-test;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

 

三、IP Hash配置

#定义后端服务器组

upstream nginx-test{

ip_hash;

server 192.168.0.128;

server 192.168.0.127;

server 192.168.0.126;

}

server {

listen 8080;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

root "G:/phpstudy/nginx/html";

location / {

index index.html index.htm index.php l.php;

autoindex on;

proxy_pass http://nginx-test;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

 

四、负载均衡反向代理区别

1.负载均衡需要通过反向代理来实现。

2.反向代理就是指nginx作为前端服务器,将请求转发到后端,再将后端服务器的结果,返回给客户端。它在中间做了一个代理服务器的角色。

3.负载均衡对反向代理增加了一些策略,因为后端是多台服务器,nginx会根据设定的策略将请求转发给一个相对空闲的服务器,对负载进行分流,减轻服务器压力。

 

五、反向代理配置

 #定义后端服务器组

upstream nginx-test{

server 192.168.0.127;

}

server {

listen 8080;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

root "G:/phpstudy/nginx/html";

  #代理配置参数

proxy_connect_timeout 180;

proxy_send_timeout 180;

proxy_read_timeout 180;

proxy_set_header Host $host;

proxy_set_header X-Forwarder-For $remote_addr;

location / {

  proxy_pass http://nginx-test;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

 

以上是 Nginx之负载均衡与反向代理 的全部内容, 来源链接: utcz.com/z/516706.html

回到顶部