errno.h中的strerror(int errno)可以确定指定的errno的错误的提示信息。在 Nginx 中,将所有错误提示信息预先存储在一个数组里,而预先确定这个数组的大小,是在自动化脚本中完成的,如下是auto/unix脚本:(其中自动化脚本auto/feature的作用参考《解剖 Ng...
分类:
其他好文 时间:
2014-10-22 17:55:55
阅读次数:
167
在安装Nginx之前(即运行make脚本之前),首先是进行安装的配置准备,包括环境检查及生成文件。这些工作是由自动脚本完成的。和绝大多数软件一样,Nginx的自动脚本的入口,同样是名为configure的文件。除了configure,其他的自动脚本都在auto目录下。通过分析configure脚本源...
分类:
其他好文 时间:
2014-10-22 17:47:50
阅读次数:
254
1 auto/types/sizeof该脚本的功能,是通过测试程序获知给定的ngx_type的大小。1.1 显示提示信息echo $ngx_n "checking for $ngx_type size ...$ngx_c"cat > $NGX_AUTOCONF_ERR----------------...
分类:
其他好文 时间:
2014-10-22 17:43:42
阅读次数:
197
elloWorld 是一个典型的 location 模块。什么是 location 模块?在 Nginx 中,根据作用域,有 main 模块、server 模块、location 模块。1 模块定义在 HelloWorld 模块中有一个 ngx_http_hello_world_module 变量,...
分类:
Web程序 时间:
2014-10-22 17:42:13
阅读次数:
276
1 命名规则1.1 基本变量基本变量有三个:ngx_module_t 类型的 ngx_http_foo_bar_module;ngx_command_t 类型的数组 ngx_http_foo_bar_commands;ngx_http_module_t 类型的 ngx_http_foo_bar_mo...
分类:
其他好文 时间:
2014-10-22 17:41:49
阅读次数:
258
目录auto/have 向自动配置头文件追加可用宏定义(objs/ngx_auto_config.h)auto/nohave 向自动配置头文件追加不可用宏定义(objs/ngx_auto_config.h)auto/define 向自动配置脚本追加 K-V 宏定义(objs/ngx_auto_con...
分类:
其他好文 时间:
2014-10-22 17:37:48
阅读次数:
270
回顾变量 CC最初是在auto/options脚本中初始化的:CC=${CC:-gcc}1 C Compiler 的 featureWindows 平台的编译器叫做MSVC,其他平台的都统称为C Compiler。1.1 获取编译器参数该脚本并不复杂,首先通过NGX_PLATFORM变量来判断是否是...
分类:
其他好文 时间:
2014-10-22 17:34:01
阅读次数:
271
在configure脚本中,运行完auto/options和auto/init脚本后,接下来就运行auto/soures脚本。这个脚本是为编译做准备的。目录核心模块事件模块OpenSSL 模块相关变量事件驱动模块操作系统相关项HTTP 模块邮件模块Google PerfTools 模块C++ 测试模...
分类:
其他好文 时间:
2014-10-22 17:28:35
阅读次数:
208
在 Nginx 的自动脚本中,auto/cc目录下的所有脚本都是用于编译器相关配置使用的。Nginx的出色跨平台性(Linux、Darwin、Solaris、Win32 等)就有这些脚本的贡献。该目录下包含如下脚本:目录conf:主脚本,配置编译器的基本属性,并根据系统的编译器环境引用不同的脚本。n...
分类:
其他好文 时间:
2014-10-22 17:25:53
阅读次数:
231
1 Backgroundngx_http_stub_status_module 是一个 Nginx 的内置 HTTP 模块,该模块可以提供 Nginx 的状态信息。默认情况下这个模块是不被编译进来的,所以在编译 Nginx 时要指定加载该模块:--with-http_stub_status_modu...
分类:
Web程序 时间:
2014-10-22 17:23:52
阅读次数:
301