nginx负载均衡与动静分离(Nginx配置之实现多台服务器负载均衡)
nginx负载均衡与动静分离
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配置负载均衡内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- nginx配置详解(Nginx进程管理和重载原理详解)
- nginx 反向代理的参数(Nginx反向代理及负载均衡如何实现基于linux)
- nginx配置文件位置(查看nginx配置文件路径和资源文件路径的方法)
- nginx 配置https(Nginx下配置Https证书详细过程)
- nginx和lua哪个好(nginx+lua单机上万并发的实现)
- nginxpython编写模块(Python开发之Nginx+uWSGI+virtualenv多项目部署教程)
- tomcat docker 性能(Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作)
- nginx 重置端口号(详解如何修改nginx的默认端口)
- nginx配置使用环境变量(关于Nginx开启gzip的配置的问题)
- nginxhttp转https原理(nginx如何将http访问的网站改成https访问)
- nginx代理转发域名(Nginx域名转发使用场景代码实例)
- linux nginx搭建(Ubuntu使用nginx搭建webdav文件服务器的详细过程)
- nginx tomcat集群(Nginx+tomcat负载均衡集群的实现方法)
- nginx文件夹限制ip访问(基于Nginx实现限制某IP短时间访问次数)
- nginx怎么进一步配置(Nginx已编译的nginx-添加新模块)
- nginx启动报错连接失败(宝塔面板Nginx环境中出现404 Not Found的解决方法)
- 痴情男神 吴彦祖 与妻子恋爱8年,结婚10年,家庭幸福美满(痴情男神吴彦祖)
- 成功破圈,小牛电动SQi强势开 跨(小牛电动SQi强势开)
- 挑战新国标电自天花板,九号机械师MMAX 110P深度体验(挑战新国标电自天花板)
- 《满江红》不要只当电影看,学生应该这样做(满江红不要只当电影看)
- 电影《民间怪谈录之走阴人》定档8月5日,开启一场中式惊悚之旅(电影民间怪谈录之走阴人定档8月5日)
- 原创图画书,以儿童视角讲述中国故事(以儿童视角讲述中国故事)
热门推荐
- docker搭建mysql服务(Docker部署Mysql集群的实现)
- python浪漫表白源码(python七夕浪漫表白源码)
- css布局图解(浅谈CSS三栏布局的N种实现)
- python正则表达式该怎么学习(Python面向对象总结及类与正则表达式详解)
- css3渐变背景教程(css3实现背景图片颜色修改的多种方式)
- ASP.NET cache缓存的用法
- SQL语句分析工具Plan Explorer
- docker容器启动执行脚本(在docker容器中使用非root用户执行脚本操作)
- IIS7支持html中<!--#include --> 包含文件的方法
- navicat连接mysql1045解决方法(Navicat 连接服务器端中的docker数据库的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9