手工SEO首页 DEDE教程 正文
Nginx代理与负载均衡配置与优化
Nginx代理
Nginx从0.7.48版本开始,支持了类似Squid的缓存功能。Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi_cache相关指令集构成,前者用于反向代理时,对后端内容源服务器进行缓存,后者主要用于对FastCGI的动态程序进行缓存。两者的功能基本上一样。
Nginx 0.8.32版本,proxy_cache和fastcgi_cache已经比较完善,加上第三方的ngx_cache_purge模块(用于清除指定URL的缓存),已经可以完全取代Squid。
在功能上,Nginx已经具备Squid所拥有的Web缓存加速功能、清除指定URL缓存的功能。而在性能上,Nginx对多核CPU的利用,胜过Squid不少。另外,在反向代理、负载均衡、健康检查、后端服务器故障转移、Rewrite重写、易用性上,Nginx也比Squid强大得多。这使得一台Nginx可以同时作为“负载均衡服务器”与“Web缓存服务器”来使用。
下面的文档说明了nginx如何做代理服务器,将请求转发到其他服务器,本身不做缓存。使用版本为nginx-0.8.15,配置如下:
http
{
……..
client_max_body_size 300m ; // 允许客户端请求的最大单个文件字节数
client_body_buffer_size 128k;
// 缓冲区代理缓冲用户端请求的最大字节数,可以理解为先保存到本地再传给用户
proxy_connect_timeout 600;
// 跟后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_read_timeout 600;
// 连接成功后_等候后端服务器响应时间_其实已经进入后端排队之中等候处理
proxy_send_timeout 600;
proxy_buffer_size 16k; // 会保存用户的头信息,供nginx进行规则处理
proxy_buffers 4 32k; // 告诉nginx保存单个用的几个buffer最大用多大空间
proxy_busy_buffers_size 64k;
proxy_max_temp_file_size 64k;
// proxy缓存临时文件的大小
upstream clubsrv {
server 192.168.0.110:80 weight=5;
server 192.168.0.121:80 weight=5;
}
upstream mysrv {
server 192.168.0.32:80 weight=2;
server 127.0.0.1:8000 weight=8;
}
server {
listen 80;
server_name club.xywy.com;
charset gbk;
root /www;
access_log logs/aaa.log combined;
//下面是第一个域名,使用clubsrv的代理
location / {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
// 如果后端服务器返回502、504或执行超时等错误,自动将请求转发到upstream另一台服务器
proxy_pass ;
// 与上面upstream自己命名的名字填写一致
proxy_redirect off;
proxy_set_header Host club.xywy.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
// nginx在前端做代理,后端的日志会显示127.0.0.1,上面配置可以显示用户真实IP(还需装第三方软件,见下面的详细说明)
index index.htm index.html index.php;
}
//下面是第二个域名,使用mysrv的代理,访问目录下的
server {
listen 80;
server_name ;
location /message {
proxy_pass ;
proxy_set_header Host $host;
// 访问这个域名的,只有mysrv 本机可以访问
}
//访问除了/message之外的 地址,
location / {
proxy_pass ;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
下面的配置,与上面错误返回的效果相同,这里可以不写。
error_page 500 502 503 504 /50x.html;
location = /50x.html
{
root html;
}
2、Nginx负载均衡指令
Nginx属于软件的七层负载均衡(lvs是软件的四层负载均衡的代表),七层负载均衡软件还有L7SW(Layer7 switching)、HAProxy等。支持负载均衡的模块是Http Upstream。下面介绍此模块及他下面的几个指令
HTTP Upstream模块
(1)ip_hash指令
当对后端的多台动态应用服务器做负载均衡时,ip_hash指令将某个客户端IP的请求通过哈希算法定位到同一台后端服务器上。这样,当来自某ip用户在Sever A上登录后,再访问该站点的其他URL时,能保证访问仍在Server A上。如果不加ip_hash,加入用户在Server A上登录,再访问该站点其他URL,就有可能跳转到后端的Sever B、C…..,而session记录在A上,B、C上没有,就会提示用户未登录。
注意:但这种访问不能保证后端服务器的负载均衡,可能后端有些server接受到的请求多,有些server接受的少,设置的权重值不起作用。
建议如果后端的动态应用程序服务器能做到session共享,而不用nginx上配置ip_hash的方式。
upstream mysrv {
ip_hash;
server 192.168.0.110:80 weight=2;
server 127.0.0.1:8000 down;
server 192.168.0.212:80 weight=8;
}
(2)server指令
该指令用语指定后端服务器的名称和参数。服务器的名称可以是一个域名,一个ip,端口号或UNIX Socket。
参数介绍:
weight=number : 设置服务器权重,权重值越高,被分配到客户端请求数越多。默认为1;
max_fails=numbser : 在fail_timeout指定的时间内对后端服务器请求失败的次数,如果检测到后端服务器无法连接及发生错误(404除外),则标记为失败。如果没有设置,默认为1。设置为0则关闭这项检查。
fail_timeout=time : 在经历参数max_fails设置的失败次数后,暂停的时间。
down : 表示服务器为永久离线状态。
Backup : 仅仅在非backup服务器全部down或繁忙的时候才启用。
配置如下:
upstream mysrv {
ip_hash;
server weight=2;
server 127.0.0.1:8000 down;
server 192.168.0.212:80 max_fails=3 fail_timeout=30s;
server unix:/tmp/bakend3;
}
上一篇:nginx与apache限制ip并发访问 限制ip连接的设置方法
相关文章
- 2020-02-22 Nginx+Windows负载均衡配置方法...
- 2020-02-22 nginx与apache限制ip并发访问 限制ip连接的设置方法...
- 2020-02-22 nginx,apache的alias和认证功能...
- 2020-02-22 nginx全局变量整理小结...
- 2020-02-22 NGINX下配置404错误页面的方法分享...
- 2020-02-21 nginx 多站点配置方法集合...
- 2020-02-20 nginx win32 版本静态文件测试 (Windows环境)...
- 2020-02-20 nginx封空user_agent实现封禁迅雷的方法...
- 2020-02-20 为nginx设置默认虚拟主机(空主机头,默认主机头...
- 2020-02-20 Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,...
- 2020-02-20 nginx设置上传目录无执行权限的方法...
- 2020-02-20 nginx虚拟主机防webshell完美版...
- 2020-02-20 lanmp(Linux Apache Nginx Mysql Php) 的安装配置...
- 2020-02-20 win2003下nginx 0.8.38 安装配置备忘...
- 2020-02-20 nginx 作为反向代理实现负载均衡的例子...
- 2020-02-20 Linux Nginx VPS下简单解决CC攻击...
- 2020-02-20 apache,nginx上传目录无执行权限的设置方法...
- 2020-02-19 为Nginx自定义404,502错误页面的方法...
- 2020-02-19 Nginx防盗链的3种方法...
- 2020-02-19 Nginx geoip模块实现地区性负载均衡...
- 2019-08-15 湖南网站优化方案...
- 2019-08-15 永济网:网站优化内链该怎么...
- 2019-08-15 华罡seo:网站首页一直不收录...
- 2019-08-19 上海seo快速网站优化是什么...
- 2019-08-20 8月18只基金延长募集 募集失败...
- 2019-08-21 东莞关键词策略seo网站关键词...
- 2019-08-22 谈谈2018seo行业前景和未来发展...
- 2019-08-24 英特尔极限大师杯赛将在北京...
- 2019-08-24 河洛群侠传全支线任务教程攻...
- 2019-08-26 贵阳SEO公司有些人不知道的...
- 2019-08-27 百度之前发布的算法一直有效...
- 2019-08-28 荒野行动网易大神礼包在哪领...
- 2019-08-29 没程序没美工中小微企业应当...
- 2019-08-29 丰田全新RAV4特别版曝光 主打运...
- 2019-08-29 上海网络营销培训主要学什么...
- 2019-08-30 蓝盾助力800亿大工程 号称“新...
- 2019-08-31 几名新生代农民工的技术成才...
- 2019-08-31 唐山网站seo排行精华...
- 2019-09-01 YNET.com北青网...
- 2019-09-03 沈阳优化营商环境打出“组合...
- 2019-09-04 三亚优化崖州湾科技城定制公...
- 2019-09-05 《东方炮弹》公开全新游戏动...
- 2019-09-06 2019内蒙古遴选考试笔试题每日...
- 2019-09-06 视频|教科书式示范!4岁男童与...
- 2019-09-07 奥迪8月全球销量15万辆 中国市...
- 2019-09-08 品牌房企论道2019年房地产营销...
- 2019-09-11 超越同行的seo网站内容优化操...
- 2019-09-15 天津公布最新一批环境违法典...
- 2019-09-21 安徽铜陵:联合国粮农组织考...
- 2019-09-24 小米集团9月23日回购1074万股股...
- 200℃ 织梦Dede如何删除管理员admin...
- 200℃ 关于discuzX3.1存在的问题及修复...
- 200℃ 在Dedecms下面生成Google Sitemap的...
- 200℃ DEDECMS教程:后台验证码图片不...
- 200℃ CSS 浏览器兼容问题整理大全...
- 200℃ CSS3教程(1):什么是CSS3...
- 200℃ W3C标准以及XHTML和HTML...
- 200℃ DEDECMS安全设置 执行php脚本限制...
- 200℃ 使用正则配合程序完美解决自...
- 200℃ DEDECMS 5.7 将data目录迁移后,网...
- 200℃ jquery加载页面的方法(页面加载...
- 200℃ 修改好的jquery滚动字幕效果实...
- 200℃ 浅析织梦(dedecms)三个最重要的...
- 200℃ 织梦cms教程:实现按键盘方向...
- 200℃ 织梦DedeCMS添加新变量出现“...
- 200℃ dedecms5.7实现迅雷下载链接...
- 200℃ 去除dedecms织梦升级友情链接增...
- 200℃ 帝国cms 二级域名绑定栏目的最...
- 200℃ GoDaddy域名转移过户详细教程...
- 200℃ 织梦CMS实现复制文章加出处信...
- 200℃ CSS教程:网页字体的设置和控制...
- 200℃ zblog模板文件说明...
- 200℃ CSS常用属性缩写实例...
- 200℃ PHP执行zip与rar解压缩方法实现...
- 200℃ dedecms相关文章中实现orderby参数...
- 200℃ dedecms织梦教程:发布文章时输...
- 200℃ 修改织梦DedeCMS注册邮件发送通...
- 200℃ 织梦DedeCMS在软件列表页中调用...
- 200℃ 使用503状态码:防止网页被删...
- 200℃ 妙用PS极坐标滤镜打造漂亮水晶...
- 200℃ dede织梦5.7如何在首页调用栏目
- 200℃ 织梦调用指定顶级栏目或当前
- 200℃ Internet 连接防火墙 (ICF) / Inte
- 200℃ DEDECMS必备BANNER幻灯片广告插件
- 200℃ 织梦(DEDECMS)系统搬家终极攻略
- 200℃ 如何设计企业APP或设计企业A
- 200℃ Web标准:文档类型和网页浏览
- 200℃ APP设计案例与教程-Panli代购网
- 200℃ Web标准:关于web标准的一些初学
- 200℃ HTML5+lufylegend实现游戏中的卷轴
- 200℃ dedecms网页模板怎么制作
- 200℃ dedecms添加文章提示/templets/pl
- 200℃ Discuz! 的防水墙使用教程(基础
- 200℃ windows2008下mysqld-nt.exe 占cpu高的
- 200℃ CMD下的网络安全配置命令
- 200℃ Ubuntu linux 安装 PHP5.3.0的命令
- 199℃ MySQL故障got error 127 when reading
- 199℃ 10个有趣的Javascript和CSS库
- 199℃ 必须勾选同意才能提交表单的
- 199℃ 网站权重和网站的关系
- 199℃ DedeCMS系统管理员帐号密码忘记
- 199℃ CSS选择器优先级详细介绍
- 199℃ 织梦后台文件列表实现按文件
- 199℃ dedecms无错优化版全站调用购物
- 199℃ DEDE Fatal error: Call to a member fu
- 199℃ WinXP下安装IIS搭建ASP环境教程
- 199℃ Dedecms 生成速度慢 的解决办法
- 199℃ 服务器性能变慢 c盘temp文件夹
- 199℃ linux使用scp命令备份文件 scp拷
- 199℃ dedecms文章调用来源和作者为空
- 标签列表
-