Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
Nginx 是一个很牛的高性能Web和反向代理服务器,它具有很多非常优越的特性: 在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。
Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。
-----------------------------------------------------
以上都是简介,也算是废话吧
-----------------------------------------------------
nginx直接去官网下载就可以,配置文件放在下面的conf目录。
1.下面先做最简单的配置,意思就是把请求到本机8080端口的所有http请求分别转发到本机18080和28080端口:
#user nobody;
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
#使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue,window下不指定。
#use epoll;
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
upstream mysvr {
#根据ip计算将请求分配各那个后端tomcat,许多人误认为可以解决session问题,其实并不能。
#同一机器在多网情况下,路由切换,ip可能不同
#ip_hash;
server localhost:18080;
server localhost:28080;
}
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://mysvr;
}
}
}
2.Nginx upstream的5种权重分配方式
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
例如:
upstream mysvr {
server 192.168.0.14:8080 weight=10;
server 192.168.0.15:8080 weight=10;
}
3)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题(在上面提到的,如果一台机器有多个ip,且都能达到我们的服务器,这点就无效了)。
(适用于要求ip地址一致性的场景)
例如:
upstream mysvr {
ip_hash;
server 192.168.0.14:8080;
server 192.168.0.15:8080;
}
4)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
(fair策略是扩展策略,默认不被编译进nginx内核。其原理是根据后端服务器的响应时间判断负载情况,从中选出负载最轻的机器进行分流。这种策略具有很强的自适应性,但是实际的网络环境往往不是那么简单,因此要慎用。)
upstream mysvr {
server 192.168.0.14:8080;
server 192.168.0.15:8080;
fair;
}
5)、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。(适用于请求一致性,如缓存服务器)
例:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法
upstream mysvr {
server 192.168.0.14:8080;
server 192.168.0.15:8080;
hash $request_uri;
hash_method crc32;
}
3.定义负载均衡设备的Ip及设备状态
upstream mysvr {
ip_hash;
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
在需要使用负载均衡的server中增加
proxy_pass http://bakend/;
每个设备的状态设置为:
1.down 表示单前的server暂时不参与负载
2.weight 默认为1.weight越大,负载的权重就越大。
3.max_fails:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
4.fail_timeout:max_fails次失败后,暂停的时间。
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
分享到:
相关推荐
主要介绍了nginx负载均衡配置,宕机自动切换方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
lvs+nginx负载均衡,lvs+nginx负载均衡,lvs+nginx负载均衡,lvs+nginx负载均衡
nginx 负载均衡与缓存服务器标准配置文件
这是一个文档,内容是nginx负载均衡的搭建
LVS & Nginx负载均衡优缺点对比
Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱。是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多。本例为nginx负载均衡配置方法
基于nginx负载均衡的集群聊天系统,其中技术点有网络方面、数据库方面、线程安全方面;功能点有添加好友、单人聊天、群组聊天等 基于nginx负载均衡的集群聊天系统,其中技术点有网络方面、数据库方面、线程安全方面...
nginx负载均衡配置文件实例:基本配置说明文档和一个配置好的nginx.conf文件实例
企业级keepalived高可用实战与Nginx负载均衡视频教程.zip
nginx 完成服务器之间集群的搭建 能够解决服务器调用负载均衡
Nginx负载均衡搭建及配置技术,尽可能详细介绍了相关配置用法及静态资源配置相关,提高服务器运行及运维方面的知识
nginx负载均衡ssl证书认证强制跳转https+keeplived+apache
linux下安装Nginx并做到负载均衡,配置详细在文档有介绍!
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器... Nginx 支持简单的负载均衡和容错; 支持作为基本 HTTP 服务器的功能,例如日志、压缩、Byte ranges、Chunked responses、SSL、虚拟主机等等,应有尽有
6、Nginx对请求的异步处理可以帮助节点服务器减轻负载; 7、Nginx能支持http和Email,这样就在适用范围上面小很多; 8、不支持Session的保持、对Big request header的支持不是很好, 另外默认的只有Round-robin...
该文档以Nginx为基础,详细梳理了负载均衡的原理,以及优化方式,和实现步骤,无论新手还是大虾都可以从中得到深入体会。
linux下的nginx搭建的负载均衡,nginx.conf文件修改成自己对应的地址即可直接使用,将配置复制进windows版本的nginx下应该也可用,这个没有测试,有问题,请联系哦
阿里云服务器搭建nginx负载均衡
在一台服务器的操作系统上,安装一个附加软件来实现负载均衡,如Nginx负载均衡(我们管理系统平台使用的也是这款均衡器)。它的优点是基于特定环境、配置简单、使用灵活、成本低廉,可以满足大部分
nginx进行负载均衡的配置参考示例,及nginx支持https请求的配置参考示例