
nginx
工程师WWW
R
展开
-
开发一个Nginx模块hello
开发一个Nginx模块用C语言写一个ngx_http_hello_module.c的文件C代码 /* * ngx_http_hello_module.c * * Created on: Apr 25, 2015 * Author: lizhenbin */ #include <ngx_config.h> #in...原创 2019-12-26 12:09:00 · 770 阅读 · 0 评论 -
论HTTP请求大小
HTTP分为URI,HEADER,Body三个部分。每个部分都可以包含请求信息,那么每个部分是否都有请求大小限制呢?刚开始以为这个问题很容易找到答案,后来发现这也是个挺复杂的问题。URI首先是URI,我们知道,在GET请求中,请求参数是放在URL进行传递的,所以,HTTP GET的请求最关心的一个问题:能有多长?我能放多少参数?URI从HTTP 1.1协议中开始找:(RFC原创 2018-03-02 17:19:06 · 5381 阅读 · 0 评论 -
nginx-upload-module模块实现文件断点续传
每当我们想简单的实现文件上传功能,而又不使用其他的语言(比如PHP、Java),或者想实现文件的断点续传。这个时候Nginx的一个模块nginx-upload-module就能满足我们的需求。模块安装下载模块:cd /tmpwget https://codeload.github.com/vkholodkov/nginx-upload-module/zip/2.2原创 2017-07-24 23:26:34 · 6982 阅读 · 1 评论 -
Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
由于最近工作的需要,本人学习了一下利用高性能web server - Nginx,来发布C/C++编写的fastCGI程序,详细细节如下。1.介绍 Nginx - 高性能web server,这个不用多说了,大家都知道。 FastCGI程序 - 常驻型CGI程序,它是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进原创 2017-03-14 23:39:53 · 1088 阅读 · 0 评论 -
fastcgi协议分析与实例
1.序言最近在用c++实现一个简易web服务器。在实现之前大体理了一下一个web服务器主要咋样实现。当时单纯的认为只需要将浏览器发来的http请求解析,找到对应的文件,然后给浏览器一个响应,把其要获取的文件发给它就完事。可是写了没几天就遇到了瓶颈。因为我们的浏览器并不能解析动态的PHP文件,那么如果获取的http请求的请求文件为.php文件我们该杂么办呢?2.将.php转换为.ht原创 2016-11-07 23:51:57 · 1943 阅读 · 0 评论 -
FastCGI协议分析
不知道什么时候,就开始有了让HomeServer支持PHP的念头。于是分析起了FastCGI协议。FastCGI用于WebServer与WebApplication之间的通讯,例如Apache与PHP程序。FastCGI协议数据包是8字节对齐的,由包头(Header)和包体(Body)组成。例如要请求一个index.php的页面,WebServer首先向WebApp发送一个Request数原创 2016-11-07 23:28:27 · 1163 阅读 · 0 评论 -
FastCGI规范
介绍FastCGI是对CGI的开放的扩展,它为所有因特网应用提供高性能,且没有Web服务器API的缺点(penalty)。本规范具有有限的(narrow)目标:从应用的视角规定FastCGI应用和支持FastCGI的Web服务器之间的接口。Web服务器的很多特性涉及FastCGI,举例来说,应用管理设施与应用到Web服务器的接口无关,因此不在这儿描述。本规范适用于Unix(原创 2016-11-07 23:36:39 · 2384 阅读 · 0 评论 -
正向代理和反向代理
正向代理,也就是传说中的代理,他的工作原理就像一个跳板。简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录。结论就是,正向代理,是一个位于客户端和原始服务器(origin server)原创 2015-04-30 16:11:49 · 1322 阅读 · 0 评论 -
HTTP协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of原创 2015-06-30 15:18:02 · 1266 阅读 · 0 评论 -
常见MIME类型
Response对象通过设置ContentType使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。 MIME类型格式:类别/子类别;参数Content-Type: [type]/[subtype]; parameterMIME主类别:text:用于标准化地表示的文本信息,文本消息可以是多原创 2015-06-29 20:41:22 · 3576 阅读 · 0 评论 -
nginx内置预定义变量
nginx的配置文件中可以使用的内置变量以美元符$开始,也有人叫全局变量。其中,部分预定义的变量的值是可以改变的。$arg_PARAMETER 这个变量值为:GET请求中变量名PARAMETER参数的值。$args 这个变量等于GET请求中的参数。例如,foo=123&bar=blahblah;这个变量只可以被修改$binary_remote_addr 二进制码形式的客户端原创 2015-06-26 10:24:03 · 1590 阅读 · 0 评论 -
nginx 配置解析(11)——merge
以前我们详细了分析了 nginx 配置解析的各个过程,尤其是各种 conf 结构的创建、初始化、储存。那么现在我们要分析下 merge 的过程,一来它确实是配置解析过程的一个部分,二来我们可以检验下我们对各种 conf 结构存储的位置是否真正的清晰明了。首先我们了解下 merge 的背景:所谓 merge 操作,就是合并内外层的配置。大体原则是:如果内层没有配置,那么以外层为准,如原创 2015-06-05 18:03:27 · 1866 阅读 · 0 评论 -
三大WEB服务器对比分析(apache ,lighttpd,nginx)
一.软件介绍(apache lighttpd nginx)1. lighttpdLighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功原创 2015-06-01 16:04:05 · 1003 阅读 · 0 评论 -
nginx配置详解
user nginx ;#用户worker_processes 8;#工作进程,根据硬件调整,大于等于cpu核数error_log logs/nginx_error.log crit;#错误日志pid logs/nginx.pid;#pid放置的位置原创 2015-05-18 17:49:52 · 1017 阅读 · 0 评论 -
Web Service实践之REST vs RPC
点击 下载pdf阅读.摘要Web Service 已经不再新鲜, 而随后的 SOA, Cloud Computing 也不断出现, 直到百度也 提出了自己的 框计算, 我们尚且不管这些时髦的名词背后所蕴藏的实际的技术创新有多少, 但是他们终究是逃不出一点, 即 如何解决访问服务的问题, 而此处的服务通常不在本地而是在 遥远的你不知道的美国或者印度.本文想阐述标题中提到的两种原创 2015-05-30 15:31:44 · 1225 阅读 · 0 评论 -
nginx服务器access_log日志分析及配置详解
nginx的log日志分为access log 和 error log其中access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息日志的形式如下:201.158.69.116 - - [03/Jan/2013:21:17:20 -0600] fwf[-] tip[-] 127.0.0.1:9000 0.007 0.007 MX pythonta原创 2015-05-28 16:50:28 · 2340 阅读 · 0 评论 -
http 错误代码表
所有 HTTP 状态代码及其定义。 代码 指示 2xx 成功 200 正常;请求已完成。 201 正常;紧接 POST 命令。 202 正常;已接受用于处理,但处理尚未完成。 203 正常;部分信息 — 返回的信息只是一部分。 204 正常;无响应 — 已接收请求,但不存在要回送的信息。 3xx 重定向 301 已移动原创 2015-05-28 14:25:10 · 850 阅读 · 0 评论 -
Nginx基本数据结构
话说学习一种编程语言,例如C语言,我们首先学的也是数据结构,这是以后开发程序的关键。为了更好更方便的开发Nginx,Nginx自己实现了很多适合nginx的数据结构。Nginx中的数组 ngx_array_s是Nginx中的数组,原型为ngx_array_t。typedef struct { void *elts; //指原创 2015-05-20 17:56:37 · 2127 阅读 · 0 评论