版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、负载均衡Nginx郭清存2012-8-21题纲负载均衡Nginx概述Nginx安装Nginx配置Nginx的负载均衡Nginx的重定向负载均衡负载均衡负载均衡是什么? 负载均衡(又称为负载分担),英文名称为Load Balance,其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。负载均衡的两个含义负载均衡有两方面的含义: 1、大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间; 2、单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,
2、将结果汇总,返回给用户,系统处理能力得到大幅度提高。为什么要用负载均衡? 随着网络业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大。硬件升级:现有资源的浪费,业务量再次提升,再一次的浪费.负载均衡在此情况下负载均衡技术主要应用1DNS负载均衡最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。优点:优点:简单、web服务器位置可位于互联网的任意位置缺点:缺点:不能区分服务之间的差异、运行状态、不可靠、修改DNS设置生效时间长2反向代理负载均衡反向
3、代理:以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端。反向代理负载均衡技术:将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。优点:优点:结合代理服务器的高速缓存实现动静态分离,用户访问的非真实服务器安全性高、 监控内网服务的健康性缺点:缺点:需要为每一种应用服务专门开发一个反向代理服务器. 代理服务器的负载大负载均衡的分类载体分类载体分类l 软件负载均衡l 硬件负载均衡软件负载均衡 软件负载均衡解决方案是指在一台或多台服务器
4、相应的操作系统上安装一个或多个附加软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等.优点: 配置简单、灵活、成本低廉缺点: 消耗额外系统资源、可扩展性不好、安全性低(系统bug引起引起)硬件负载均衡 硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高。优点: 性能高、安全性高缺点: 成本高Nginx概述概述Nginx是什么?Nginx(“engine x”)是一款高性能的HTTP和反向代理服务器,能够
5、支持高达5万并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。Nginx国内的支持者新浪博客/播客、网易新闻、六间房、56、水木社区、豆瓣、YUPOO相册、迅雷在线选择Nginx理由高并发内存消耗少成本低高并发官方测试Nginx撑5万并发连接,实际生产环境中可支撑24万并发连接。举例说明6台Web Server从Apache到Nginx服务的迁移(6台Server搭建的是日均2500万PV的分类信息网站),迁移前第台服务器平均系统负载5060、CPU使用率为70%90%,迁移后平均系统负载 为14,CPU使用率为20%40%为什么Nginx可以支撑这么高的并发? 使用了ep
6、oll(linux 2.6内核)和kqueue网络I/O模型。注:Apache使用的是select 网络I/O模型Select 0.1毫秒处理15000个文件描述epoll 0.08毫秒处理15000个文件描述Session sticky:不复制内存消耗少每个每个nginx进程消耗进程消耗15M内存内存每个每个apache进程消耗进程消耗40M内存内存 场景举例: 每个进程响应1000个请求,一共有30000个连接,就至少要启动 30个进程. Nginx:每个进程消耗 15M内存,共要消耗掉30*15=450M内存. Apache:每个进程消耗 40M内存,共要消耗掉30*40=1200M内存
7、.成本低购买硬件负载均衡交换器需要十多万甚至几十万人民币。而Nginx为开源软件,采用的是2-clause BSD-like协议,可以免费使用,并且可用于商业用途BSD是一个给使用者很大自由的协议,可自由使用、修改,修改后的可作为开源或是专有软件再发布。Nginx安装下载/en/download.html安装命令:安装命令:Step 1: rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpmStep 2: yum install nginx会显示一大堆信息,问你ok不ok啊:Is this ok y/N:输入y,
8、屏幕滚了一会之后就安装完毕,最后提示“Complete!”就是安完了。软件说明:软件说明: 1 配置所在目录:/etc/nginx/2 PID目录:/var/run/nginx.pid3 错误日志:/var/log/nginx/error.logNginx常用命令:常用命令: 1 启动:nginx 2 重启:killall -HUP nginx 3 测试配置:nginx t 测试测试: 用命令”nginx”起动服务,在浏览器中输入””如果出现欢迎信息说明安装成功Nginx配置Nginx的主配置文件 Nginx的主配置文件为nginx.conf.此文件在nginx的安装目录下.
9、如果你的nginx的安装目录是/usr/local/nginx,那么nginx.conf就在/usr/local/nginx/下nginx.conf文件结构文件结构events.http. server . .Nginx的虚拟主机配置虚拟主机:虚拟主机: 把一台运行在因特网上的服务器主机划分成多台“虚拟”的主机。每个虚拟主机都具有独立的域名和Internet服务器(WWW,FTP,EMAIL)功能。nginx.conf如何配置虚拟主机http server listen 80 default; server_name _*; access_log logs/access.log default
10、; location / index index.html index.htm; root /data0/htdocs/htdocs/; #location #server#http每段server就是一个虚拟主机,如果要配置多个虚拟主机,只需配置多个server段即可。配置虚拟主机的分类基于配置IP的虚拟主机基于配置域名的虚拟主机基于配置IP的虚拟主机 多块物理网卡,每个网卡一个IP 一块物理网卡,绑定多个IPhttp #第一台虚拟主机 server listen 3 80; #监听的IP和端口 server_name 3; #主机名称 acces
11、s_log logs/access_log combined; #访问日志存放路径 location / index index.html index.htm; #默认首页文件 root /data0/htdocs/server1; #html文件存放路径 #第二台虚拟主机 server listen 4 80; #监听的IP和端口 server_name 4; #主机名称 access_log logs/access_log combined; #访问日志存放路径 location / index index.html index.htm; #默认
12、首页文件 root /data0/htdocs/server2; #html文件存放路径 注:listen可以不写IP只写端口,意思是监听本机的所有80端口基于配置域名的虚拟主机 我们将以示例的形式说明这个问题。在以下的示例中将配置两台虚拟机,第一台虚拟机处理访问请求,第二台虚拟机处理 、 及除了之外的所有*访问请求.代码如下http #第一台虚拟主机 server listen 80; #监听的端口 server_name ; #主机名 access_log logs/sub_mygogo_com.log combined; #日志存放路径 location / index index.ht
13、ml index.html; #默认首页文件 root /data0/htdocs/; #工程存放目录 #第二台虚拟主机 server listen 80; #监听的端口 server_name *; #主机名 access_log logs/www_mygogo_com.log combined; #日志存放路径 location / index index.html index.html; #默认首页文件 root /data0/htdocs/; #工程存放目录 Nginx日志的配置Nginx与日志有关的指令主要有两个 1、log_format 设置日志格式 2、access_log 日志
14、存放目录log_format语法: log_format name format format说明: name:日志格式的名称,就如key_value中的key format:定义日志的格式log_format有个默认格式”combined”Log_format combined $remote_addr - $remote_user $time_local ”$request” $status $body_bytes_sent ”$http_referer” “$http_user_agent”;log_format变量说明$remote_addr:ip地址$remote_user:远程用户
15、名称$time_local:访问的时间和时区$request:请求的url和http协议$status:请求的状态(200、404)$body_bytes_send:发送到客户端文件的主体内家大小$http_referer:从哪个页面链接访问过来的$http_user_agent:浏览器相关信息access_log语法: access_log path format buffer=size|off 说明: path:日志存放目录 format:使用log_format定义的日志格式名称 buffer=size:内存设置的缓冲区大小 off:是否记录日志Nginx压缩输出配置 Nginx使用gz
16、ip压缩技术,这种技术可以压缩文件至原来的30%甚至更小。IE、FireFox、Opera、Chrome等大多浏览器都支持解析gzip过的页面.Gzip指令用于http之间如下http gzip on; gzip_min_length 1k; gzip_buffer 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on;#accpet_encoding gzip浏览器缓存可使用ex
17、pires指令实现语法:expires time|epoch|max|off默认值:expires off作用域:http 、server、 location用途:控制http应答中expires和cache-control的Header头信息说明: time:正负值 epoch:1970-1-1 00:00:001 max:2037-12-31 23:59:59 off:默认不缓存location .*.(gif|jpg|jpeg|png|swf)$ expires 30d;Location .*.(js|css)?$ expires 1h;为什么使用浏览器缓存? 浏览器缓存是为了加速浏览,
18、对最近请求过的文档进行缓存,以便再此做相同请求时,浏览器从本地磁盘读取文档,加速阅览、节省约网络资源Nginx浏览器本地缓存配置Nginx HTTP负载均衡的配置Nginx负载均衡示例upstream backend server weight=5; server :8080; server unix:/temp/backend3;server location / proxy_pass http:/backend; Upstream可对后端服务器进行健康检查。指令指令默认值默认值使用环境使用环境说明说明upstreamnonehttp设置一组代理服务器servernoneupstream指定后端服务的名称和参数,名称可以是域名、IP、端口号和Unix SocketNginx的rewrite为什么需要重定向?1.网站调整(如改变网页目录结构);2.网页被移到一个新地址;3.网页扩展名改变(如应用需要把.php改成.Html或.shtml)。Rewrite主要的功能是实现URL的重写.Rewrite指令指令默认值默认值使用环境使用环境说明说明Ifnone server、location分支判断rewritenoneserver 、location 、if重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中物理 加强练习第一章 5.自由落体及通过类问题
- 高中化学 加练 第七章 微题型61 依据原子结构特点或元素化合物性质推断元素
- 幂函数-高一上学期数学课时作业人教版A版(含解析)
- 春季帐篷施工方案图(3篇)
- 江苏隔热挤塑板施工方案(3篇)
- 活体宠物活动营销方案(3篇)
- 清除表面浮土施工方案(3篇)
- 爆雪天气应急预案(3篇)
- 甘肃矩阵营销方案(3篇)
- 白城工地消防施工方案(3篇)
- 2026年度全国教师入编考试教育公共基础知识复习题库及答案(共50题)
- 高中数学立体几何学习现状及教学策略
- 2026汇能控股集团有限公司内蒙古卓正煤化工有限公司人才招聘33人备考题库含答案详解
- 体育文化企业财务制度
- 华为基本法(更新)
- 城市基础设施应急抢修方案
- 人教PEP版(2024)三年级上册英语Unit 5《The colourful world》单元作业设计
- 梦境心理学:探索潜意识的奥秘
- 2023年山东聊城职业技术学院招聘工作人员60人(第二批)笔试参考题库(共500题)答案详解版
- 行政复议法培训课件
- 住院医师规范化培训过程考核方案
评论
0/150
提交评论