- 浏览: 576987 次
- 性别:
- 来自: 北京
最新评论
-
yeruby:
请教下,这个命令会将kube-scheduler的所有日志输出 ...
二、master的安装 -
107x:
不错,谢谢!
kerberos安装配置 -
yhq1212:
如何禁止NGINX先本地缓存呢
nginx upload在java中的应用 -
lcy651:
写的很好、学习了
Nginx的安装 -
huangyunbin:
楼主现在是做运维了吗
mysql的安装,CXXFLAGS
文章列表
yum install snmp-*
ll
yum -y install patch make gcc gcc-c++ libtool libtool-libs libart_lgpl libart_lgpl-devel autoconf libjpeg libjpeg-devel libpng libpng-devel fontconfig fontconfig-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2 ...
5. Load-Balancers
Load-balancer用来决定哪一个后端将会收到请求;具体的实现是round-robin方式或者把请求进行hash。本节将介绍load-balancer模块的装载及其调用。我们将用upstream_hash_module(full source)作例子。upstream_hash将对nginx.conf里配置的变量进行 hash,来选择后端服务器。
一个load-balancer分为六个部分:
1. 启用配置指令 (e.g, hash;) 将会调用注册函数
2. 注册函数将定义一些合法的server 参数 (e.g., w ...
4. Filters
注:本节事例http/modules/ngx_http_chunked_filter_module.c
Filter操作handler生成的响应。头部filter操作HTTP头,body filter操作响应的内容。
4.1. 剖析Header Filter
Anatomy of a Header Filter
Header Filter由三个步骤组成:
1. 决定何时操作响应
2. 操作响应
3. 调用下一个filter
举个例子,比如有一个简化版本的"not modified" ...
3.3. Handler Installation
3.3. Handler的装载
Handler的装载通过往模块启用了的指令的回调函数中添加代码来完成。比如,例子circle gif 中ngx_command_t是这样的:
{ ngx_string("circle_gif"),
NGX_HTTP_LOC_CONF|NGX_CONF_NOARGS,
ngx_http_circle_gif,
0,
0,
NULL }
回调函数是里面的第三个元素,在这个例子中就是那 ...
3.2. 剖析Upstream(又称 Proxy) Handler
Anatomy of an Upstream (a.k.a Proxy) Handler
我已经帮你了解了如何让你的handler来产生响应。有些时候你可以用一小段C代码就可以得到响应,但是通常情况下你需要同另外一台server打交道(比如你正在写一个用来实现某种网络协议的模块)。你当然可以自己实现一套网络编程的东东,但是如果你只收到部分的响应,需要等待余下的响应数据,你会怎么办?你不会想阻塞整个事件处理循环吧?这样会毁掉Nginx的良好性能!幸运的是,Nginx允许你在它处理后端服务器(叫做"upstre ...
3. Handlers
接下来我们把模块的细节放到显微镜下面来看,它们到底怎么运行的。
3.1. 剖析Handler(非代理)
Anatomy of a Handler (Non-proxying)
Handler一般做4件事:获取location配置;生成合适的响应;发送响应头;发送响应体。Handler有一个参数,即请求结构体。请求结构体包含很多关于客户请求的有用信息,比如说请求方法,URI,请求头等等。我们一个个地来看。
3.1.1. 获取location配置
这部分很简单。只需要调用 ngx_http_get_module_loc_conf,传入当前请 ...
2.4. 模块定义(The Module Definition)
接下来我们间接地介绍更深一层:结构体ngx_module_t。该结构体变量命名方式为ngx_http_<module name>_module。它包含模块的内容和指令执行方式,同时也还包含一些回调函数(退出线程,退出进程,等等)。模块定义在有的时候会被用作查找的关键字,来查找与特定模块相关联的数据。模块定义通常像是这样:
ngx_module_t ngx_http_<module name>_module = {
NGX_MODULE_V1,
&ngx_http_ ...
2.3. 模块上下文(The Module Context)
静态的ngx_http_module_t结构体,包含一大坨函数引用,用来创建和合并三段配置 (main,server,location),命名方式一般是:ngx_http_<module name>_module_ctx. 这些函数引用依次是:
* preconfiguration ...
2. Components of an Nginx Module
2.Nginx模块的组成
我说过,Nginx模块的构建是很灵活的。这一节讲描述的东西会经常出现。它可以帮助你理解模块,也可以作为开发模块的手册。
提示:本节讨论的module源文件:http://www.evanmiller.org/nginx/ngx_http_circle_gif_module.c.txt
2.1. 模块配置Struct(s)
模块的配置struct有三种,分别是main,server和location。绝大多数模块仅需要一个location配置。
名称约定如下:ngx_http_<mod ...
1.High-Level Overview of Nginx's Module Delegation
1. Nginx模块概述
Nginx的模块有三种角色:
* handlers 处理http请求并构造输出
* filters 处理handler产生的输出
* load-balancers 当有多于一个的后端服务器时,选择一台将http请求 ...
nginx模块开发入门(一) 快速编写一个模块
- 博客分类:
- nginx
1.首先按照nginx
参考http://running.iteye.com/blog/326873
2.创建新模块目录
#mkdir ngx_module_echo
3.创建编译相关文件(config)
#vim ngx_module_echo/config
其内容为:
ngx_addon_name=ngx_module_echo
HTTP_MODULES="$HTTP_MODULES ngx_module_echo"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_module_echo.c ...
一、安装
1.下载源码包
wget http://fallabs.com/tokyocabinet/tokyocabinet-1.4.46.tar.gz
wget http://jaist.dl.sourceforge.net/project/tokyocabinet/tokyotyrant/1.1.33/tokyotyrant-1.1.33.tar.gz
2.编译安装tokyocabinet
tar zxvf tokyocabinet-1.4.46.tar.gz
cd tokyocabinet-1.4.46
./configure --prefix=/usr/local/to ...
GIT最初是由Linus Benedict Torvalds为了更有效地管理Linux内核开发而创立的分布式版本控制软件,与常用的版本控制工具如CVS、Subversion不同,它不必服务器端软件支持,速度和效率也有着相当程度的提高。
如果拥有CVS或者SVN的使用背 ...
一直以来,很多同学都在思考和问我:
代码该如果规范?
怎么来优化代码质量?
写了这么久的程序,有哪些编程技巧?
怎么去解决“重复发明轮子”?
项目组成员越来越多,怎么来降低沟通成本?
这个规范或许能帮助大家找到一些答案
目录结构:
前人栽树,后人乘凉
结合多年的开发经验,汇集了许多同学的智慧,对我买网的技术进行积累和沉淀