nginx模块开发

Windows 搭建 nginx RTMP 服务器

二次信任 提交于 2020-03-18 16:19:30
前面采用 nginx + nginx-rtmp-module 的方式搭建 RTMP 服务器,由于在 windows 下未对 rtmp 模块进行编译,所以后面采用了 nginx Gryphon + nginx-rtmp-module 的方式,成功搭建了 RTMP 服务器。 1 环境与准备文件 开发环境:windows 开发工具:ffmpeg、nginx 1.7.11.3 Gryphon(nginx)、nginx-rmtp-module、vlc media player播放器 官方ffmpeg下载地址: http://www.ffmpeg.org 官方nginx下载地址: http://nginx.org/en/download.html 官方nginx 1.7.11.3 Gryphon下载地址: http://nginx-win.ecsds.eu/download/nginx 官方nginx-rtmp-module下载地址: https://github.com/arut/nginx-rtmp-module 官方vlc media player下载地址: https://www.videolan.org/vlc 2 安装nginx、ffmpeg与启动nginx 分别下载最新版本的 nginx 和 ffmpeg,都复制到 E:\technology 目录下,然后再将下载好的 nginx

【Nginx 1】Nginx 的下载和安装

一笑奈何 提交于 2020-03-17 07:59:02
今天正式开始学习Nginx。Nginx是一个著名的轻量级Http服务器,目前已经有很多知名网站使用Nginx作为服务器。因为Nginx是开源的软件,因此对于开发人员和学习者来说都是一个大宝藏。 首先,下载Nginx源码。我使用的是Ubuntu 10.04,当然Nginx现在有windows版本,但是其实在工程中大多都是用Linux版本。 $ wget http://nginx.org/download/nginx-1.5.12.tar.gz 解压,编译。编译之前保证系统有pcre,zlib.因为我安装Nginx的目的是学习其源码,想要通过gdb进行调试,其他的模块先不涉及,所以在configure的时候只开了gdb支持(当然不是说不开就不能用gdb来调试,只不过会更方面一些)。如果需要其他选项,可以使用./configure --help 查看。 ~/nginx-1.5.12$ ./configure --with-cc-opt='-g -o0' 执行make时,也添加上调试选项。 $ make CFLAGS="-g -o0" 最后,make install。 执行nginx后,可以在进程中看到。 参考资料:《深入剖析Nginx》高群凯 来源: https://www.cnblogs.com/jaletech/p/3630556.html

nginx的在linux系统中的安装

一笑奈何 提交于 2020-03-15 09:31:23
1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ n PCRE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。 yum install -y pcre pcre-devel 注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。 n zlib zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。 yum install -y zlib zlib-devel n openssl OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。 yum install -y

Nginx 安装部署

拟墨画扇 提交于 2020-03-15 06:38:38
Nginx 安装部署 Nginx,一个被贴满,高性能,低消耗,低成本标签的web服务器。想必大家都早有耳闻。我是在接触了公司的图片服务器的时候,才开始真正接触它。本文从Nginx 和传统项目的区别 和 Nginx的安装部署两个方面来了解它。 1 Nginx 和 传统项目的区别 1.1 传统项目管理图片的思路 在传统项目中,我们一般通过在web项目的根目录下创建一个用于存储图片的images文件夹来方便管理图片。但随着业务和规模的逐渐扩大,一台服务器已经无法满足我们的需求,我们可以通过搭建服务器集群来处理高并发的场景。 好景不长,集群刚搭好,就有用户反馈,图片为什么时而有,时而没有? 这是因为:图片存储在 服务器/web根目录/images文件夹 中,当用户在上传图片的时候,只将图片传给了一台服务器,在获取图片时,可能调用了其他服务器。这样会出现该问题。 解决这个问题很简单,就是把图片单独放在一个服务器。如果选择Apache的tomcat服务器,在处理业务逻辑简单的图片服务器中似乎显得有些笨重。一款高性能,低成本轻量级web服务器 nginx 脱颖而出。不仅如此它还是一款反向代理服务器和电子邮件代理服务器。 2 安装部署 2.1 理想流程 [root@itdragon ~]# wget http://nginx.org/download/nginx-1.13.6.tar.gz

Tomcat 搭配 Nginx 还是 Apache 呢?

痴心易碎 提交于 2020-03-14 12:17:01
Apache 、Tomcat、Nginx的区别, 哪个与Tomcat搭配效率高? 一、 定义: 1. Apache Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。 (Apche可以支持PHPcgiperl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。) 缺点:配置相对复杂,自身不支持动态页面。 2. Tomcat: Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。 3. Nginx Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。 二、 比较 1. Apache与Tomcat的比较 相同点: * 两者都是Apache组织开发的 * 两者都有HTTP服务的功能 * 两者都是免费的 不同点: * Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机

Nginx、LVS及HAProxy负载均衡软件的优缺点

五迷三道 提交于 2020-03-11 03:52:36
负载均衡 (Load Balancing) 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力,同时能够提高网络的灵活性和可用性。 Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件。 (1)一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。 (2)一种是通过硬件来进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类似于Nginx/LVS/HAProxy的基于 Linux的开源免费的负载均衡软件,这些都是通过软件级别来实现,所以费用非常低廉。 (3)目前关于网站架构一般比较合理流行的架构方案:Web前端采用Nginx/HAProxy+ Keepalived作负载均衡器;后端采用 MySQL数据库一主多从和读写分离,采用LVS+Keepalived的架构。当然要根据项目具体需求制定方案。 下面说说各自的特点和适用场合

Nginx基础

时光毁灭记忆、已成空白 提交于 2020-03-09 13:06:10
第一章 Nginx介绍 Nginx是什么? Nginx 是一个开源且高性能、可靠的 Http Web 服务、代理服务。 开源: 直接获取源代码 高性能: 支持海量并发 可靠: 服务稳定 我们为什么选择 Nginx 服务 Nginx 非常轻量 功能模块少 (源代码仅保留 http 与核心模块代码,其余不够核心代码会作为插件来安装) 代码模块化 (易读,便于二次开发,对于开发人员非常友好) 互联网公司都选择 Nginx 1.Nginx 技术成熟,具备的功能是企业最常使用而且最需要的 2.适合当前主流架构趋势, 微服务、云架构、中间层 3.统一技术栈, 降低维护成本, 降低技术更新成本。 Nginx重要特性 Nginx 采用 Epool 网络模型, Apache 采用 Select 模型 Select: 当用户发起一次请求, select 模型就会进行一次遍历扫描,从而导致性能低下。 Epool: 当用户发起请求, epool 模型会直接进行处理,效率高效,并无连接限制 Nginx应用场景 第二章 Nginx安装部署 Nginx分为几种: 1.源码编译(1.版本随意 2.安装复杂 3.升级繁琐) 2.epel仓库(1.版本较低 2.安装简单 3.配置不易读) 3.官方仓库(1.版本较新 2.安装简单 3.配置易读,推荐) 下面分别介绍编译安装和yum安装方法 1.编译安装方法

高并发下的Node.js与负载均衡

亡梦爱人 提交于 2020-03-08 14:12:55
新兴的 Node.js 已经吸引了很多开发人员的眼光,它提供给我们一个快速构建高性能的网络应用的平台。我也开始逐步投入node.js的怀抱,在学习和使用的过程中,遇到了一些问题,也有一些经验,我觉得有必要写出来,作为总结,也用作分享。 众所周知,node.js基于 v8 引擎,所以它本身并不支持多线程(有多线程的 Module 哦),那么为了充分利用server的Multi-core,就必须使用多进程的方式。那么进程之间如何负载均衡就会是一个关键所在。 多进程共享监听socket Node.js与进程相关的模块有 process , child_process , cluster ,这其中cluster用于方便的创建共享端口的多进程模式(The cluster module allows you to easily create a network of processes that all share server ports),这种模式使多个进程间共享一个监听状态的socket,并由系统将accept的connection分配给不同的子进程,而且实现起来也非常简单,cluster为你做了大部分事情,这里有一个test case: 1 var cluster = require('cluster'); 2 var http = require('http'); 3 var

Nginx的配置详解

淺唱寂寞╮ 提交于 2020-03-08 06:35:23
Nginx配置详解 序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。 Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。 Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。 牛逼吹的差不多啦,如果你还不过瘾,你可以百度百科或者一些书上找到这样的夸耀,比比皆是。 Nginx常用功能 1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。 这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。 Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。 2、负载均衡

CentOS 7 搭建nginx网页服务

 ̄綄美尐妖づ 提交于 2020-03-07 23:34:18
概述 Nginx专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发链接的高处理能力(单台服务器可支持30000 ~ 50000个并发请求)。 正因为如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务。 源码包安装步骤 1.编译工具包下载 yum -y install pcre-devel zlib-devel gcc-c++ make wget -y 2.创建用户,组 建立nginx用户,不建立宿主文件夹,禁止登陆shell环境 useradd -M -s /sbin/nologin nginx 3.下载源码包 cd /usr/local wget http://nginx.org/download/nginx-1.8.1.tar.gz 4.解压源码包 tar xvf nginx-1.8.1.tar.gz 5.配置 cd nginx-1.8.1 配置nginx ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_stub_status_module 解释如下: --prefix=/usr/local/nginx \ #nginx安装目录 --user=nginx --group