NGINX----源码阅读---config配置脚本
config文件为nginx的配置入口文件。
1.
#!/bin/sh # Copyright (C) Igor Sysoev
# Copyright (C) Nginx, Inc. LC_ALL=C
export LC_ALL
2.nginx各种环境变量的初始化脚本
. auto/options
3.nginx各种文件目录,路径变量的初始化。
. auto/init
4.初始化nginx基本源码路径环境变量
. auto/sources
5.第一步,创建nginx目录。
test -d $NGX_OBJS || mkdir -p $NGX_OBJS
6.创建ngx_auto_headers.h和autoconf.err(变量在init中赋值的)
echo > $NGX_AUTO_HEADERS_H
echo > $NGX_AUTOCONF_ERR
7.在ngx_auto_headers.h文件中定义宏NGX_CONFIGURE
echo "#define NGX_CONFIGURE \"$NGX_CONFIGURE\"" > $NGX_AUTO_CONFIG_H
8.如果是debug模式,在ngx_auto_config.h文件中定义NGX_DEBUG宏
if [ $NGX_DEBUG = YES ]; then
have=NGX_DEBUG . auto/have
fi
9.
if test -z "$NGX_PLATFORM"; then
echo "checking for OS" NGX_SYSTEM=`uname -s >/dev/null`
NGX_RELEASE=`uname -r >/dev/null`
NGX_MACHINE=`uname -m >/dev/null` echo " + $NGX_SYSTEM $NGX_RELEASE $NGX_MACHINE" NGX_PLATFORM="$NGX_SYSTEM:$NGX_RELEASE:$NGX_MACHINE"; case "$NGX_SYSTEM" in
MINGW32_*)
NGX_PLATFORM=win32
;;
esac else
echo "building for $NGX_PLATFORM"
NGX_SYSTEM=$NGX_PLATFORM
fi
10.
. auto/cc/conf
11.
if [ "$NGX_PLATFORM" != win32 ]; then
. auto/headers
fi . auto/os/conf if [ "$NGX_PLATFORM" != win32 ]; then
. auto/unix
fi
12.
. auto/threads
13.将nginx对应的所有模块编码到ngx_modules.c文件中。
. auto/modules
14.
. auto/lib/conf
NGINX----源码阅读---config配置脚本的更多相关文章
- Spring源码阅读 之 配置的读取,解析
在上文中我们已经知道了Spring如何从我们给定的位置加载到配置文件,并将文件包装成一个Resource对象.这篇文章我们将要探讨的就是,如何从这个Resouce对象中加载到我们的容器?加载到容器后又 ...
- Spring源码阅读 之 配置的加载(希望有喜欢源码的朋友一起交流)
想写Spring的源码方面的东西想了好久了,之前花了一段时间学习了SpringCloud,现在总算对SpringCloud有了一个大概的了解,从今天开始好好读一篇Spring的源码,结合书本跟网上的一 ...
- NGINX----源码阅读---have配置脚本
/auto/have have配置脚本负责在$NGX_OBJS/ngx_auto_config.h定义宏 # Copyright (C) Igor Sysoev # Copyright (C) Ngi ...
- NGINX----源码阅读----init配置脚本
/auto/init init脚本负责初始化各种目录环境变量值. 1.make文件.源文件.头文件.配置头文件路径变量初始化. NGX_MAKEFILE=$NGX_OBJS/Makefile NGX_ ...
- NGINX----源码阅读---sources配置脚本
/auto/sources 本文件主要用于对源文件环境变量进行初始化,主要包括:.c和.h文件. 对应变量类型有*_MODULES.*_INCS.*_DEPS等. # Copyright (C) Ig ...
- nginx 源码阅读 core
ngx_config.h 数据对齐 #define ngx_align(d, a) (((d) + (a - 1)) & ~(a - 1)) ngx_core.h #define ng ...
- nginx模块_使用gdb调试nginx源码
工欲善其事必先利其器,如何使用调试工具gdb一步步调试nginx是了解nginx的重要手段. ps:本文的目标人群是像我这样初接触Unix编程的同学,如果有什么地方错误请指正. 熟悉gdb的使用 这里 ...
- Linux下源码安装并配置Nginx
实验环境 一台最小化安装的CentOS 7.3 虚拟机 安装nginx 安装nginx依赖包 yum install -y pcre-devel zlib-devel openssl-devel wg ...
- Nginx源码安装及调优配置
导读 由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置. Nginx编译前的优 ...
随机推荐
- Android系统源码导入到eclipse
1.把eclipse工程配置文件复制到android源码根目录下 cp development/ide/eclipse/.classpath ./ 2. 在android源码根目录下新建文 ...
- ASP.NET MVC 使用MSBuild部署的几个注意事项
ASP.NET MVC 使用MSBuild部署的几个注意事项 做新项目,当时参考NopCommerce的结构,后台Nop.Admin是一个独立的Area Web Site,但部署的时候发现,使用一键发 ...
- MongoDB:利用官方驱动改装为EF代码风格的MongoDB.Repository框架 三
本次改动的主要内容是实现MongoDB.Repository在MongoDB中建立索引. 建立索引主要使用MongoDB的官方驱动中EnsureIndex方法. 在MongoDB.Repository ...
- java中除去字符串(String)中的换行字符(\r \n)
有时在文本框中输入内容特别是粘贴内容时会出现一些换行符(\r\n),如下,在做字数验证或保存到数据库中时应过滤掉. str.replaceAll("\r|\n","&qu ...
- MEF只导出类的成员
MEF只导出类的成员 通过前面两篇文章的介绍,相信各位会明白MEF中有不少实用价值.上一文中我们也讨论了导入与导出,对于导出导入,今天我们再深入一点点,嗯,只是深入一点点而已,不会很难的,请大家务必放 ...
- 获取Portal中POWL程序的APPLID
获取Portal中POWL程序的APPLID 今天做练习的时候跟 Leader 学了一招,当不知道集成在 Portal 中 POWL 程序的 APPLID 的时候,可以在类 CL_POWL_MODEL ...
- AspxTreeList获取选中项的值
在csdn上了发了次帖子,没人回复,只有自己结贴了.http://bbs.csdn.net/topics/390706314?page=1#post-396723432 //通过选中的节点获取用户ID ...
- Microsoft 电信项目组 Net代码生成器1.1
Microsoft 电信项目组 Net代码生成器1.1 微软电信项目组代码生成器 为什么要使用这个代码生成器: 1.这个代码生成器采用 微软 企业库5.0 版本,目前CAPO所在的项目组都在使用这个 ...
- 广播,多播,IGMP:网际组管理协议
广播,多播,IGMP:网际组管理协议 1.概述 IP有三种地址:单播地址, 广播地址,多播地址. 广播和多播仅应用于UDP. 每个以太网帧包含源主机和目的主机的以太网地址 ...
- IP:网际协议
IP:网际协议 1.概述 IP是TCP/IP协议族中最为核心的协议.所有的TCP,UDP,ICMP,IGMP数据都以IP数据报格式传输. IP提供不可靠,无连接的数据报传送服务. ...