nginx模块开发

Nginx 日志打印POST数据

只愿长相守 提交于 2019-12-05 20:33:15
在工作中,开发希望能从Nginx日志中获取POST的数据信息,先记录下来 在日志格式后面加上 $request_body 配置信息 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" $request_body'; 在server中添加打印日志的操作 access_log logs/access.log main;   本以为问题解决了,开发有要求在日志中添加上 服务器响应返回的数据 目前的 nginx 是不支持输出 response 报文体的 使用 body_filter_by_lua 来分配请求报文体给一个 nginx 变量。下面是一个示例 1:下载安装LuaJIT # wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz # tar -xzvf LuaJIT-2.0.2.tar.gz # cd LuaJIT-2.0.2 # make 出现如下内容表示编译成功 OK Successfully built LuaJIT make[1]: Leaving

Nginx简介及其配置文件详解

巧了我就是萌 提交于 2019-12-05 19:39:01
Nginx简介: ​ Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locator)URL作为沟通依据,通过HTTP协议提供各种网络服务。 ​ 这些服务器在设计之初受到当时环境的局限,例如当时的用户规模,网络带宽,产品特点等局限并且各自的定位和发展都不尽相同。这也使得各个WEB服务器有着各自鲜明的特点。   Apache的发展时期很长,而且是毫无争议的世界第一大服务器。它有着很多优点:稳定、开源、跨平台等等。它出现的时间太长了,它兴起的年代,互联网产业远远比不上现在。所以它被设计为一个重量级的。它不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。   这些都决定了Apache不可能成为高性能WEB服务器,轻量级高并发服务器Nginx就应运而生了。   俄罗斯的工程师Igor Sysoev,他在为Rambler Media工作期间,使用C语言开发了Nginx。Nginx作为WEB服务器一直为Rambler Media提供出色而又稳定的服务。 Nginx特点: Nginx使用基于事件驱动架构

转载-Apache和Nginx运行原理解析

◇◆丶佛笑我妖孽 提交于 2019-12-05 16:53:53
本文只作为了解Apache和Nginx知识的一个梳理,想详细了解的请阅读文末参考链接中的博文。 Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。 应用层使用HTTP协议。 HTML文档格式。 浏览器统一资源定位器(URL)。 Web服务器常常以B/S(Browser/Server)方式提供服务。浏览器和服务器的交互方式如下: 浏览器向服务器发出HTTP请求(Request)。 服务器收到浏览器的请求数据,经过分析处理,向浏览器输出响应数据(Response)。 浏览器收到服务器的响应数据,经过分析处理,将最终结果显示在浏览器中。 Apache和Nginx都属于Web服务器,两者都实现了HTTP 1.1协议。 Apache 概述 Apache HTTP Server是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性。被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。 – 维基百科 Apache组件 Apache是基于模块化设计的,它的核心代码并不多,大多数的功能都被分散到各个模块中,各个模块在系统启动的时候按需载入。 MPM(Multi -Processing Modules

MogileFS-2.44 安装与配置

不羁岁月 提交于 2019-12-05 07:53:51
MogileFS-2.44 安装与配置 目录 一、MogileFS 介绍 1.1、环境 二、MogileFS 安装 2.1、Mysql安装 2.2、安装MogileFS 相关Perl模块 2.3、MogileFS Server 安装 2.4、MogileFS Storage 存储节点安装 三、MogileFS 配置 3.1、mysql数据库设置 3.2、创建mysql连接 3.3、创建Tracker配置文件 3.4、MogileFS 启动与停止 3.5、MogileFS Storage 节点配置 3.6、启动MogileFS Storage 节点 四、管理配置MogileFS 4.1、添加Storeage节点到Tracker 4.2、在存储节点中添加设备 4.3、在存储节点中使设备失效 4.4、添加域和类 4.5、查看域和tracker节点 4.6、mogadm 详细参数 五、MogileFS PHP扩展模块 5.1、安装MogileFS PHP扩展 5.2、添加MogileFS PHP模块 5.3、MogileFS 客户端 API 调用资料 六、MogileFS Nginx 模块安装 6.1、下载Nginx_mogilefs_module 6.2、添加Nginx_mogilefs_module模块 6.3、配置Nginx_mogilefs_module 模块 七、Mogtool

第一篇:什么是Nginx

喜欢而已 提交于 2019-12-05 07:01:35
一、前言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。 Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。 Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。 Nginx的特点: Nginx 做为 HTTP 服务器,有以下几项基本特性: 处理静态文件,索引文件以及自动索引;打开文件描述符缓冲. 无缓存的反向代理加速,简单的负载均衡和容错. FastCGI,简单的负载均衡和容错. 模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCGI 或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。 支持 SSL 和 TLSSNI. Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 。它支持内核 Poll 模型,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。

Nginx安装手册

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

nginx源码分析——配置

故事扮演 提交于 2019-12-04 22:34:44
1. 配置介绍 nginx的配置由一个主配置文件和其他一些辅助的配置文件构成。这些配置文件均是纯文本文件,这些配置文件全部位于nginx安装目录下的conf目录中。 主配置文件nginx.conf中的内容大概是这样子的: #user nobody; worker_processes 1; pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 从上面可以看出:nginx.conf由若干配置项组成,配置项又分为简单配置项和块配置项。 简单配置项由配置项名和配置项值构成。 配置项名是一个字符串,可以用单引号或者双引号括起来,也可以不扩。但是如果配置项名包含空格,则一定要括起来

Apache与Nginx的优缺点比较

一曲冷凌霜 提交于 2019-12-04 22:16:58
http://www.phpzixue.cn/detail1174.shtml Apache与Nginx的优缺点比较 1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 apache 相对于nginx 的优点: rewrite ,比nginx 的rewrite 强大 模块超多,基本想到的都可以找到 少bug ,nginx 的bug 相对较多 超稳定 存在就是理由,一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 吧。后者的各种功能模块实现得比前者,例如ssl 的模块就比前者好,可配置项多。这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高的根本理由,但并不是所有的情况下都是epoll 大获全胜的,如果本身提供静态服务的就只有寥寥几个文件,apache 的select 模型或许比epoll 更高性能。当然,这只是根据网络IO 模型的原理作的一个假设,真正的应用还是需要实测了再说的。 2、作为 Web 服务器:相比 Apache,Nginx

Nginx 和 Apache 优缺点

左心房为你撑大大i 提交于 2019-12-04 22:15:04
1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单社区活跃,各种高性能模块出品迅速啊 apache 相对于nginx 的优点: rewrite ,比nginx 的rewrite 强大,动态页面,模块超多,基本想到的都可以找到,少bug ,nginx 的bug 相对较多,超稳定 存在就是理由,一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 吧。后者的各种功能模块实现得比前者,例如ssl 的模块就比前者好,可配置项多。这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高的根本理由,但并不是所有的情况下都是epoll 大获全胜的,如果本身提供静态服务的就只有寥寥几个文件,apache 的select 模型或许比epoll 更高性能。 2、作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。在高连接并发的情况下,Nginx是Apache服务器不错的替代品:

Apache和Nginx运行原理解析

守給你的承諾、 提交于 2019-12-04 22:14:36
Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。 应用层使用HTTP协议。 HTML文档格式。 浏览器统一资源定位器(URL)。 Web服务器常常以B/S(Browser/Server)方式提供服务。浏览器和服务器的交互方式如下: GET /index.php HTTP/1.1 +---------------+ +----------------+ | +-------------------> | | Browser | | Server | | <-------------------+ | +---------------+ +----------------+ HTTP/1.1 200 OK 浏览器向服务器发出HTTP请求(Request)。 服务器收到浏览器的请求数据,经过分析处理,向浏览器输出响应数据(Response)。 浏览器收到服务器的响应数据,经过分析处理,将最终结果显示在浏览器中。 Apache和Nginx都属于Web服务器,两者都实现了HTTP 1.1协议。 Apache 概述 Apache HTTP Server是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性。被广泛使用,是最流行的Web服务器端软件之一。它快速