小知识:Nginx配置之实现多台服务器负载均衡

Nginx负载均衡服务器: IP:192.168.0.4(Nginx-Server)

Web服务器列表:

Web1: 192.168.0.5(Nginx-Node1/Nginx-Web1)

Web2:192.168.0.7(Nginx-Node2/Nginx-Web2)

实现目的:用户访问Nginx-Server时,通过Nginx负载均衡到Web1和Web2服务器。

Nginx负载均衡服务器的nginx.conf

配置注释如下:

events

{

use epoll;

worker_connections 65535;

}

http

{

##upstream的负载均衡,四种调度算法##

#调度算法1:轮询.每个请求按时间顺序逐一分配到不同的后端服务器,

#如果后端某台服务器宕机,故障系统被自动剔除,使用户访问不受影响

upstream webhost {

server 192.168.0.5:6666 ;

server 192.168.0.7:6666 ;

}

#调度算法2:weight(权重).可以根据机器配置定义权重.权重越高被分配到的几率越大

upstream webhost {

server 192.168.0.5:6666 weight=2;

server 192.168.0.7:6666 weight=3;

}

#调度算法3:ip_hash. 每个请求按访问IP的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,

#有效解决了动态网页存在的session共享问题

upstream webhost {

ip_hash;

server 192.168.0.5:6666 ;

server 192.168.0.7:6666 ;

}

#调度算法4:url_hash(需安装第三方插件).此方法按访问url的hash结果来分配请求,

#使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率.

#Nginx本身是不支持url_hash的,如果需要使用这种调度算法,必须安装Nginx 的hash软件包

upstream webhost {

server 192.168.0.5:6666 ;

server 192.168.0.7:6666 ;

hash $request_uri;

}

#调度算法5:fair(需安装第三方插件).这是比上面两个更加智能的负载均衡算法.

#此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,

#响应时间短的优先分配.Nginx本身是不支持fair的,如果需要使用这种调度算法,必须下载Nginx的upstream_fair模块

#虚拟主机的配置(采用调度算法3:ip_hash)

server

{

listen 80;

server_name mongo.demo.com;

#对 “/” 启用反向代理

location / {

proxy_pass http://webhost;

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#以下是一些反向代理的配置,可选.

proxy_set_header Host $host;

client_max_body_size 10m; #允许客户端请求的最大单文件字节数

client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,

proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)

proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)

proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)

proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小

proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置

proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)

proxy_temp_file_write_size 64k;

#设定缓存文件夹大小,大于这个值,将从upstream服务器传

}

}

}

配置 192.168.0.4(Nginx-Server)

创建文件夹准备存放配置文件

$ mkdir -p /opt/confs

$ vim /opt/confs/nginx.conf

events

{

use epoll;

worker_connections 65535;

}

http

{

upstream webhost {

ip_hash;

server 192.168.0.5:6666 ;

server 192.168.0.7:6666 ;

}

server

{

listen 80;

server_name mongo.demo.com;

location / {

proxy_pass http://webhost;

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $host;

client_max_body_size 10m;

client_body_buffer_size 128k;

proxy_connect_timeout 90;

proxy_send_timeout 90;

proxy_read_timeout 90;

proxy_buffer_size 4k;

proxy_buffers 4 32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;

}

}

}

启动负载均衡服务器192.168.0.4(Nginx-Server)

配置 192.168.0.5(Nginx-Node1/Nginx-Web1)

创建文件夹用于存放web页面

$ mkdir -p /opt/html

$ vim /opt/html/index.html

编辑内容如下:

The host is 192.168.0.5 – Node 1

启动192.168.0.5(Nginx-Node1/Nginx-Web1)

配置192.168.0.7(Nginx-Node2/Nginx-Web2)

创建文件夹用于存放web页面

$ mkdir -p /opt/html

$ vim /opt/html/index.html

编辑内容如下:

The host is 192.168.0.7 – Node 2

启动192.168.0.7(Nginx-Node2/Nginx-Web2)

到此这篇关于Nginx配置之实现多台服务器负载均衡的文章就介绍到这了,更多相关Nginx配置负载均衡内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_44801979/article/details/90806206

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux中MongoDB如何实现远程自动备份详解

2023-3-23 4:59:01

建站知识

小知识:linux 下隐藏进程的一种方法及遇到的坑

2023-3-23 5:07:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索