• 售前

  • 售后

热门帖子
入门百科

Nginx设置之实现多台服务器负载平衡

[复制链接]
462710480 显示全部楼层 发表于 2021-8-14 14:53:55 |阅读模式 打印 上一主题 下一主题
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设置负载平衡内容请搜刮脚本之家从前的文章或继承欣赏下面的相干文章希望大家以后多多支持脚本之家!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作