【官方文档】Nginx负载均衡学习笔记(二)负载均衡基本概念介绍

负载均衡(ServerLoadBalancer)是将访问流量根据转发策略分发到后端多台ECS的流量分发控制服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。负载均衡主要有如下几个功能点:负载均衡服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(ElasticComputeService,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。负载均衡服务会检查云服务器池中ECS的健康状态,自动隔离异常状态的ECS,从而解决了单台ECS的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,负载均衡服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。负载均衡服务是ECS面向多机方案的一个配套服务,需要同ECS结合使用。负载均衡服务主要有三个核心概念:LoadBalancer:负载均衡实例。Listener:用户定制的监听器,定义了负载均衡策略和转发规则。BackendServer:后端的一组ECS(云服务器)。下图描述...

【精选】Nginx负载均衡学习笔记(一)实现HTTP负载均衡和TCP负载均衡官方和OpenResty两种负载配置)

说明:很简单一个在HTTP模块中,而另外一个和HTTP是并列的Stream模块(Nginx1.9.0支持)1、HTTP负载均衡:http{includemime.types;default_typeapplication/octet-stream;upstreamlive_node{server127.0.0.1:8089;server127.0.0.1:8088;}server{listen80;server_namelocalhost;location/{        proxy_passhttp://live_node;}}server{listen8088;server_namelocalhost;location/{root/usr/local/nginx/html2;indexindex.htmlindex.htm;}}server{listen8089;server_namelocalhost;location/{root/usr/local/nginx/html3;indexindex.htmlindex.htm;}}}以上测试一个浏览器访问80端口,实现访问不同的s...

Nginx模块Lua-Nginx-Module学习笔记(一)Nginx Lua API 接口详解

  各种*_by_lua,*_by_lua_block和*_by_lua_file配置指令用作nginx.conf文件中LuaAPI的网关。下面描述的NginxLuaAPI只能在这些配置指令的上下文中运行的用户Lua代码中调用。API以两个标准软件包ngx和ndk的形式暴露给Lua。这些软件包位于ngx_lua中的默认全局范围内,并且始终可在ngx_lua指令中使用。这些包可以像这样引入外部Lua模块:localsay=ngx.saylocal_M={}function_M.foo(a)say(a)endreturn_M强烈建议使用package.seeall标志,因为其各种不良的副作用。也可以直接要求外部Lua模块中的包:localngx=require“ngx”localndk=require“ndk”  v0.2.1rc19版本中引入了需要这些软件包的能力。  用户代码中的网络I/O操作应该只通过NginxLuaAPI调用来完成,因为Nginx事件循环可能被阻塞,否则性能会明显下降。磁盘操作与相对少量的数据可以使用标准的Luaio库...

【重要】Nginx模块Lua-Nginx-Module学习笔记(三)Nginx + Lua + Redis 已安装成功(非openresty 方式安装)

  使用Redis做分布式缓存;使用luaAPI来访问redis缓存;使用nginx向客户端提供服务,ngx_lua将lua嵌入到nginx,让nginx执行lua脚本,高并发,非阻塞的处理各种请求。url请求nginx服务器,然后lua查询redis,返回json数据。  系统环境:Ubuntu14.0(64位)  Redis服务安装:apt-getinstallredis-server  安装Git:apt-getinstallgit  安装Lua:#apt-getinstalllua5.1#apt-getinstallliblua5.1-dev#apt-getinstallliblua5.1-socket2#apt-getinstall-ylua5.1liblua5.1-0liblua5.1-0-dev补充:安装模块:stream-lua-nginx-module 出现的错误信息:make[1]:***[objs/addon/src/ngx_stream_lua_socket_tcp.o]Error1解决办法:apt-getinstalllua-socket ...

Nginx模块Lua-Nginx-Module学习笔记(二)Lua指令详解(Directives)

Nginx与Lua编写脚本的基本构建块是指令。指令用于指定何时运行用户Lua代码以及如何使用结果。下面是显示指令执行顺序的图。 当一个请求发起一个“子请求”的时候,按照Nginx的术语,习惯把前者称为后者的“父请求”(parentrequest)。location/main{echo_location/foo;#echo_location发送子请求到指定的locationecho_location/bar;}location/foo{echoTinywan_foo;}location/bar{echoTinywan_bar;}重启Nginx,curl访问root@iZ236j3sofdZ:/usr/local/nginx/conf#servicenginxrestart*StoppingNginxServer...[OK]*StartingNginxServer...[OK]root@iZ236j3sofdZ:/usr/local/nginx/conf#curl'http://localhost/main'Tinywan_foo...

Linux基础知识之————shell学习总结之变量引用

http://blog.csdn.net/wirelessqa/article/details/19285173 http://www.cnblogs.com/barrychiao/archive/2012/10/22/2733210.html...

Composer学习之————Ubuntu14.04下安装Composer

curl-sShttps://getcomposer.org/installer|php/usr/bin/phpcomposer.phar--versionsudomvcomposer.phar/usr/local/bin/composercomposer--version成功的话,会出现下面这个图  Packagist/Composer中国全量镜像方法一: 修改composer的全局配置文件(推荐方式)打开命令行窗口(windows用户)或控制台(Linux、Mac用户)并执行如下命令:composerconfig-grepo.packagistcomposerhttps://packagist.phpcomposer.com方法二: 修改当前项目的 composer.json 配置文件:打开命令行窗口(windows用户)或控制台(Linux、Mac用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:composerconfigrepo.packagistco...

流媒体技术学习笔记之(十六)H264编码profile & level控制

H.264有四种画质级别,分别是baseline,extended,main,high:1、BaselineProfile:基本画质。支持I/P帧,只支持无交错(Progressive)和CAVLC;2、Extendedprofile:进阶画质。支持I/P/B/SP/SI帧,只支持无交错(Progressive)和CAVLC;(用的少)3、Mainprofile:主流画质。提供I/P/B帧,支持无交错(Progressive)和交错(Interlaced),也支持CAVLC和CABAC的支持;4、Highprofile:高级画质。在mainProfile的基础上增加了8x8内部预测、自定义量化、无损视频编码和更多的YUV格式;  H.264Baselineprofile、Extendedprofile和Mainprofile都是针对8位样本数据、4:2:0格式(YUV)的视频序列。在相同配置情况下,Highprofile(HP)可以比Mainprofile(MP)降低10%的码率。根据应用领域的不同,Baselineprofile多应用于实时通信领域,Mainprofile多应用于流媒...

流媒体技术学习笔记之(十五)FFmpeg编码遇到的错误、警告、Debug记录

WhenencodingH.264usingffmpegIgetthefollowingtypeofwarningsenmasse: Pastduration0.606377toolarge?FFMpeg版本在2015年1月15日后经常显示此警告。它已被添加以警告可能的速率控制失真,否则不会造成任何危害。   real-timebuffer98%full!framedropped?ffmpeg-re-rtbufsize1000M-fdshow-ivideo="LenovoEasyCamera":audio="麦克风(RealtekHighDefinitionAudio)"-vcodeclibx264-b:v1000k-acodeclibvo_aacenc-frtsprtsp://231131/tinywan123.sdp  ffmpegRTP:missed12packets?  ffmpeg-rtsp_transporttcp-re-i"rtsp://192.168.18.240:554/onvif/liv...

流媒体技术学习笔记之(十四)FFmpeg进行笔记本摄像头+麦克风实现流媒体直播服务

ffmpeg-list_devicestrue-fdshow-idummy红色标记表示视频设备和麦克风设备ffmpeg-fdshow-ivideo="LenovoEasyCamera":audio="麦克风(RealtekHighDefinitionAudio)"-vcodeclibx264-acodeccopy-preset:vultrafast-tune:vzerolatency-fflv"rtmp://aitech.com/live/tinywan123" ffmpeg-fdshow-ivideo="LenovoEasyCamera":audio="麦克风(RealtekHighDefinitionAudio)"-vcodeclibx264-acodeclibvo_aacenc-preset:vultrafast-tune:vzerolatency-frtsprtsp://13313.3123/tinywan123.sdp 设置帧率为25fps,注意这个要设置在推流地址前面摄像头后面ffmpeg-fdshow-ivideo="LenovoEasyCamera"...

流媒体技术学习笔记之(十三)Windows安装FFmpeg

网址:https://ffmpeg.org/选择Windows版本:https://ffmpeg.org/download.html#build-windows下载并解压FFmpeg文件夹,它会生成一个类似名为“ffmpeg-20150504-git-eb9fb50-win32-static”的新文件夹: 打开你想安装的任意磁盘,例如:d盘。新建一个名为“ffmpeg”的文件夹,将第二步解压生成的文件夹中的内容全部拷贝到“ffmpeg”文件夹中:  1.       点击“开始菜单”,再点击“控制面板”,再点击“系统与安全”,再点击“系统”,然后点击“高级系统设置”,跳出“系统属性”窗口后,最后点击“环境变量”按钮:   2. &n...

流媒体技术学习笔记之(十二)Linux(Ubuntu)环境运行EasyDarwin

 Debug问题???./easydarwin-c./easydarwin.xml&//这样的话是80端口./easydarwin-c./easydarwin.xml-d//8088端口 以上出现的问题:在调试模式下加载配置文件是可以的,但是在后台模式下配置文件是加载不了的,列如:在配置文件配置后台管理端口为8088,当时在后台模式下,却是80端口,同时点播文件夹路径和日志文件夹路径也加载的不适root@iZ2363u41cdZ:/home/Tinywan/EasyDarwin#./easydarwin-c/home/Tinywan/EasyDarwin/easydarwin.xml&再次由调试模式切换成后台模式的时候,加载配置文件正确查看Ubuntu的版本号:sudolsb_release-agcc版本查看:gcc-vubuntu14.04自带的是4.8版本,而最新的4.9.2对c++11的支持更好一些。可惜直接sudoapt-getinstallgcc-4.9不好用,所以可以这样安装更新:sudoadd-apt-repositoryppa:ubu...

流媒体技术学习笔记之(十一)Windows环境运行EasyDarwin

 流媒体平台框架下载安装  下载地址:https://github.com/EasyDarwin/EasyDarwin/releases  选择Windows安装平台的安装包(下载解压) 把解压生成的文件夹重命名放在本地磁盘,我这里测试放在E盘: start.bat  Windows调试运行(这个批处理文件是用来做测试Debug服务的,下载安装包的时候已经自带好了)server.bat   Windows服务方式运行(这个是我自己新建的)脚本代码:cd./setcurPath="%cd%"echoservicepath:%curPath%sccreateEasyDarwinbinPath="%curPath%EasyDarwin.exe-c%curPath%easydarwin.xml"start=autoscfailureEasyDarwinreset=0actions=restart/0netstartEasyDarwinpause运行EasyDarwin    格式:RTSP://[ip]:[rtsp_port]/EasyRelayModu...

流媒体技术学习笔记之(十)HLS协议直播延时优化(35s到10S)

1、首先要了解HLS延时的机制,也就是为什么会延时,延时主要发生在什么地方。  HTTPLiveStreaming并不是一个真正实时的流媒体系统,这是因为对应于媒体分段的大小和持续时间有一定潜在的时间延时。在客户端,至少在一个分段媒体文件被完全下载后才能够开始播放,而通常要求下载完两个媒体文件之后才开始播放以保证不同分段音视频之间的无缝连接。此外,在客户端开始下载之前,必须等待服务器端的编码器和流分割器至少生成一个TS文件,这也会带来潜在的时延。服务器软件将接收到的流每缓存一定时间后包装为一个新的TS文件,然后更新m3u8文件。m3u8文件中只保留最新的几个片段的索引,以保证观众任何时候连接进来都会看到较新的内容,实现近似直播的效果。这种方式的理论最小延时为一个ts文件的时长,一般为2-3个ts文件的时长。所以,hls的延时主要由以下三个部分组成:(1)服务器端的编码器和流分割器生成TS文件的时间(2)客户端下载TS文件的时间,而通常要求下载完两个TS媒体文件(3)客户端解码并播放时间这三个方面里面,前两个方面我们是可以控制调节的,对于第三个方面只能取决于客户端的性能。2、具体优化方法...

流媒体技术学习笔记之(九)减少VLC 延迟的方法

  之前写过一篇关于在Linux平台上编译Android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg。而且这款播放器还支持RTSP协议,这个主要是用开源的live555来实现的,live555这个库以后还需要认真研习。  前几天用PC平台上的VLC播放RTSP流媒体时延迟时间较长,存在1s左右的延迟,效果不是很好,后来查了资料,发现这个延迟时间是可以修改的。  找到工具->首选项,然后参数设置左下角选择“全部”,左边选择 “输入编解码”->“网络缓存”选项,可以根据具体需要加以修改,具体见下图不过这个值不要太小,否则缓存太小,播放视频的过程中会很卡如果网络环境较好,300ms以内效果很好,实时性较好。二:PC端(Linux平台)VLC播放RTSP视频延迟问题解决  这里我的测试平台是ubuntu,linux平台上的vlc可以以命令行的方式来运行,而命令行是可以带参数的,我们只需要在参数里面指定这个延迟时间就可以了,下面是具体的命令...
首页上一页...289290291292293...下一页尾页