书签 分享 收藏 举报 版权申诉 / 27
上传文档赚钱

类型使用Nginx轻松实现开源负载均衡课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:3735216
  • 上传时间:2022-10-07
  • 格式:PPT
  • 页数:27
  • 大小:404.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《使用Nginx轻松实现开源负载均衡课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    使用 Nginx 轻松 实现 负载 均衡 课件
    资源描述:

    1、使用使用NginxNginx轻松实现开源负载均衡轻松实现开源负载均衡张宴张宴(.s135)2019.9.20 北京个人简介个人简介 张宴,曾在新浪等公司任系统工程师、系统架构张宴,曾在新浪等公司任系统工程师、系统架构师。工作内容主要涉及:服务器系统架构设计与师。工作内容主要涉及:服务器系统架构设计与部署、系统运维与调优、网络故障解决、网站后部署、系统运维与调优、网络故障解决、网站后端以及接口类端以及接口类PHPPHP程序开发、程序开发、UnixUnix开源软件二次开开源软件二次开发、服务器监控系统开发等。具有发、服务器监控系统开发等。具有CDNCDN部署,跨部署,跨IDCIDC的数据传输,电信

    2、网通南北互通,以及门户类的数据传输,电信网通南北互通,以及门户类FLVFLV视频分享网站视频分享网站新浪播客架构设计经验。新浪播客架构设计经验。什么是什么是NginxNginx?Nginx(“engine x”)Nginx(“engine x”)是俄罗斯人是俄罗斯人Igor Sysoev(Igor Sysoev(塞塞索耶夫索耶夫)编写的一款高性能的编写的一款高性能的 HTTP HTTP 和反向代理服务和反向代理服务器。器。Nginx Nginx 已经在俄罗斯最大的门户网站已经在俄罗斯最大的门户网站 Rambler Rambler MediaMedia(rambler.rurambler.ru)

    3、上运行了)上运行了3 3年时间,同时俄罗年时间,同时俄罗斯超过斯超过20%20%的虚拟主机平台采用的虚拟主机平台采用NginxNginx作为反向代理作为反向代理服务器。服务器。在国内,已经有在国内,已经有 新浪博客、新浪播客、网易新闻、新浪博客、新浪播客、网易新闻、六间房、六间房、5656、Discuz!Discuz!、水木社区、豆瓣、水木社区、豆瓣、YUPOOYUPOO、海内、迅雷在线海内、迅雷在线 等多家网站使用等多家网站使用 Nginx Nginx 作为作为WebWeb服服务器或反向代理服务器。务器或反向代理服务器。使用使用NginxNginx做七层负载均衡的理由做七层负载均衡的理由 1

    4、 1、高并发连接:、高并发连接:官方测试能够支撑官方测试能够支撑5 5万并发连万并发连接,在实际生产环境中跑到接,在实际生产环境中跑到2 23 3万并发连接数。万并发连接数。2 2、内存消耗少:、内存消耗少:在在3 3万并发连接下,开启的万并发连接下,开启的1010个个Nginx Nginx 进程才消耗进程才消耗150M150M内存内存(15M15M*10=150M10=150M)。)。3 3、配置文件非常简单:、配置文件非常简单:风格跟程序一样通俗风格跟程序一样通俗易懂。易懂。4 4、成本低廉:、成本低廉:NginxNginx为开源软件,可以免费使为开源软件,可以免费使用。而购买用。而购买F

    5、5 BIG-IPF5 BIG-IP、NetScalerNetScaler等硬件负载等硬件负载均衡交换机则需要十多万至几十万人民币。均衡交换机则需要十多万至几十万人民币。使用使用NginxNginx做七层负载均衡的理由做七层负载均衡的理由 5 5、支持、支持RewriteRewrite重写规则:重写规则:能够根据域名、能够根据域名、URLURL的不同,将的不同,将 HTTP HTTP 请求分到不同的后端请求分到不同的后端服务器群组。服务器群组。6 6、内置的健康检查功能:、内置的健康检查功能:如果如果 Nginx Nginx Proxy Proxy 后端的某台后端的某台 Web Web 服务器宕

    6、机了,不服务器宕机了,不会影响前端访问。会影响前端访问。7 7、节省带宽:、节省带宽:支持支持 GZIP GZIP 压缩,可以添加压缩,可以添加浏览器本地缓存的浏览器本地缓存的 Header Header 头。头。8 8、稳定性高:、稳定性高:用于反向代理,宕机的概率用于反向代理,宕机的概率微乎其微。微乎其微。Nginx Nginx 负载均衡的典型应用负载均衡的典型应用 硬件、软件七层负载均衡对比:NetScaler与Nginx硬件、软件七层负载均衡对比:NetScaler与Nginx五分钟搞定 Nginx 负载均衡编译安装编译安装NginxNginx1、创建供Nginx使用的组和帐号:/us

    7、r/sbin/groupadd www-g 48/usr/sbin/useradd-u 48-g www www2、编译安装rewrite模块支持包wget ftp:/ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.tar.gztar zxvf pcre-7.7.tar.gzcd pcre-7.7/./configuremake&make installcd./编译安装编译安装NginxNginx3、编译安装Nginxwget sysoev.ru/nginx/nginx-0.7.17.tar.gztar zxvf nginx-0

    8、.7.17.tar.gzcd nginx-0.7.17/./configure-user=www-group=www-prefix=/usr/local/nginx-with-http_stub_status_module-with-http_ssl_modulemake&make installcd./4、备份默认nginx.conf配置文件mv/usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.old创建创建nginx.confnginx.conf配置文件配置文件(1)(1)1、创建Nginx配置文件vi/usr/loc

    9、al/nginx/conf/nginx.conf 2、输入配置文件内容user www www;worker_processes 8;error_log /usr/local/nginx/logs/nginx_error.log crit;pid /usr/local/nginx/logs/nginx.pid;worker_rlimit_nofile 51200;events use epoll;worker_connections 51200;创建创建nginx.confnginx.conf配置文件配置文件(2)(2)http include mime.types;default_type

    10、application/octet-stream;#charset gb2312;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;sendfile on;tcp_nopush on;keepalive_timeout 60;tcp_nodelay on;创建创建nginx.confnginx.conf配置文件配置文件(3)(3)#gzip on;#gzip_min_length 1k;#gzip_buffers 4 16k;#gzip_http_v

    11、ersion 1.0;#gzip_comp_level 2;#gzip_types text/plain application/x-javascript text/css application/xml;#gzip_vary on;创建创建nginx.confnginx.conf配置文件配置文件(4)(4)upstream web.abc server 192.168.1.10:80;server 192.168.1.11:80;server 192.168.1.12:80;server 192.168.1.13:81;upstream squid.abc server 192.168.1.

    12、20:80 weight=3;server 192.168.1.21:80;server 192.168.1.22:80;创建创建nginx.confnginx.conf配置文件配置文件(5)(5)server listen 80;server_name abc*.abc;proxy_redirect off;#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP proxy_set_header X-Forwarded-For$remote_addr;if($request_uri *.*.(js|css|gif|jpg|jpeg|png|bmp|swf)$)proxy_

    13、pass squid.abc;if($request_uri */view/(.*)$)proxy_pass squid.abc;proxy_pass web.abc;创建创建nginx.confnginx.conf配置文件配置文件(6)(6)#定义日志格式 log_format access$remote_addr-$remote_user$time_local$request$status$body_bytes_sent$http_referer$http_user_agent$http_x_forwarded_for;#打日志 access_log /usr/local/nginx/lo

    14、gs/access.log access;创建创建nginx.confnginx.conf配置文件配置文件(7)(7)#允许客户端请求的最大的单个文件字节数 client_max_body_size 10m;#缓冲区代理缓冲用户端请求的最大字节数 可以理解为先保存到本地再传给用户 client_body_buffer_size 128k;#跟后端服务器连接的超时时间_发起握手等候响应超时时间 proxy_connect_timeout 600;#连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理 proxy_read_timeout 600;#后端服务器数据回传时间_就是在

    15、规定时间之内后端服务器必须传完所有的数据 proxy_send_timeout 600;创建创建nginx.confnginx.conf配置文件配置文件(8)(8)#代理请求缓存区_这个缓存区间会保存用户的头信息以供Nginx进行规则处理_一般只要能保存下头信息即可 proxy_buffer_size 8k;#同上 告诉Nginx保存单个用的几个Buffer 最大用多大空间 proxy_buffers 4 32k;#如果系统很忙的时候可以申请更大的proxy_buffers 官方推荐*2 proxy_busy_buffers_size 64k;#proxy缓存临时文件的大小 proxy_tem

    16、p_file_write_size 64k;配置文件编写完毕启动启动NginxNginx/usr/local/nginx/sbin/nginx t如果屏幕显示以下两行信息,说明配置文件正确:the configuration file/usr/local/nginx/conf/nginx.conf syntax is okthe configuration file/usr/local/nginx/conf/nginx.conf was tested successfully那么,则可以启动Nginx服务:ulimit-SHn 51200/usr/local/nginx/sbin/nginx不

    17、中断服务平滑修改不中断服务平滑修改NginxNginx配置配置、修改/usr/local/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:/usr/local/nginx/sbin/nginx-t如果屏幕显示以下两行信息,说明配置文件正确:the configuration file/usr/local/nginx/conf/nginx.conf syntax is okthe configuration file/usr/local/nginx/conf/nginx.conf was tested successfully、这时,输入以下命令查看Ng

    18、inx主进程号:ps-ef|grep nginx:master process|grep-v grep|awk-F print$2屏幕显示的即为Nginx主进程号,例如:6302这时,执行以下命令即可使修改过的Nginx配置文件生效:kill-HUP 6302或者用更简便的方法:kill-HUP cat/usr/local/nginx/logs/nginx.pid编写每天定时切割编写每天定时切割NginxNginx日志的脚本日志的脚本1、创建脚本/usr/local/nginx/sbin/cut_nginx_log.sh,输入以下内容:#!/bin/bash#This script run a

    19、t 00:00#The Nginx logs pathlogs_path=/usr/local/nginx/logs/mkdir-p$logs_path$(date-d yesterday+%Y)/$(date-d yesterday+%m)/mv$logs_pathaccess.log$logs_path$(date-d yesterday+%Y)/$(date-d yesterday+%m)/access_$(date-d yesterday+%Y%m%d).logkill-USR1 cat/usr/local/nginx/logs/nginx.pid2、设置crontab,每天凌晨00:

    20、00切割nginx访问日志crontab-e输入以下内容:00 00*/bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh总结总结1、对于中、小型企业,如果没有资金去购买昂贵的四/七层负载均衡交换机,那么Nginx是不错的七层负载均衡选择,并且可以通过 Nginx+Keepalived 实现 Nginx 负载均衡器双机互备,任意一台机器发生故障,对方都能够将虚拟IP接管过去。2、对于有资金购买四/七层负载均衡交换机的大型网站,Nginx也有其用武之地。结束结束谢谢各位!精品课件资料分享精品课件资料分享 SL出品精品课件资料分享精品课件资料分享 SL出品精品课件资料分享精品课件资料分享 SL出品

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:使用Nginx轻松实现开源负载均衡课件.ppt
    链接地址:https://www.163wenku.com/p-3735216.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库