本章主要介绍一下auto/stubs及auto/summary两个脚本。前一个脚本要定义两个宏;后一个主要是打印出相关的一些重要信息。
1. auto/stubs脚本
脚本内容如下:
向$NGX_AUTO_CONFIG_H
头文件(这里为objs/ngx_auto_config.h)中写入如下宏定义:
#ifndef NGX_SUPPRESS_WARN
#define NGX_SUPPRESS_WARN 1
#endif
#ifndef NGX_SMP
#define NGX_SMP 1
#endif
前一个宏定义表示抑制相应警告信息
;后一个主要用于多处理器原子锁.
2. auto/summary脚本
脚本内容如下:
这里:
- USE_THREADS:在auto/options脚本中初始设置为
NO
- PCRE: 被设置为
--with-pcre=../pcre-8.40
- OPENSSL: 被设置为使用系统Openssl
- MD5:被设置为
YES
,使用Openssl库中的MD5,MD5_LIB
在auto/lib/conf脚本中被设置为OpenSSL.
- SHA1: 被设置为
YES
,使用Openssl库中的SHA1,SHA1_LIB
在auto/lib/conf脚本中被设置为OpenSSL.
- ZLIB: 被设置为
--with-zlib=../zlib-1.2.11
- NGX_LIBATOMIC: 值为
NO
,并未使用
然后执行如下命令:
打印出路径相关信息:
NGX_PREFIX: /usr/local/nginx
NGX_SBIN_PATH: /usr/local/nginx/nginx
NGX_MODULES_PATH:/usr/local/nginx/modules
NGX_CONF_PREFIX: (empty)
NGX_CONF_PATH: /usr/local/nginx/nginx.conf
NGX_PID_PATH: /usr/local/nginx/nginx.pid
NGX_ERROR_LOG_PATH: /usr/local/nginx/logs/error.log
NGX_HTTP_LOG_PATH: /usr/local/nginx/logs/access.log
NGX_HTTP_CLIENT_TEMP_PATH: client_body_temp
HTTP_PROXY: 在auto/options脚本中默认设置为YES, NGX_HTTP_PROXY_TEMP_PATH使用默认值proxy_temp
HTTP_FASTCGI: 在auto/options脚本中默认设置为YES, NGX_HTTP_FASTCGI_TEMP_PATH使用默认值fastcgi_temp。
HTTP_UWSGI: 在auto/options脚本中默认设置为YES, NGX_HTTP_UWSGI_TEMP_PATH使用默认值uwsgi_temp。
HTTP_SCGI: 在auto/options脚本中默认设置为YES, NGX_HTTP_SCGI_TEMP_PATH使用默认值scgi_temp。
NGX_POST_CONF_MSG: (empty)
最后给出一个整体输出结果,以作参考:
参考:
-
Nginx工作原理和优化
-
【linux】spinlock 的实现