• NGINX----源码阅读---config配置脚本


    config文件为nginx的配置入口文件。

    1.

    1 #!/bin/sh
    2 
    3 # Copyright (C) Igor Sysoev
    4 # Copyright (C) Nginx, Inc.
    5 
    6 
    7 LC_ALL=C
    8 export LC_ALL
    View Code

    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中赋值的)

    1 echo > $NGX_AUTO_HEADERS_H
    2 echo > $NGX_AUTOCONF_ERR
    View Code

    7.在ngx_auto_headers.h文件中定义宏NGX_CONFIGURE

    1 echo "#define NGX_CONFIGURE "$NGX_CONFIGURE"" > $NGX_AUTO_CONFIG_H
    View Code

    8.如果是debug模式,在ngx_auto_config.h文件中定义NGX_DEBUG宏

    1 if [ $NGX_DEBUG = YES ]; then
    2     have=NGX_DEBUG . auto/have
    3 fi
    View Code

     9.

     1 if test -z "$NGX_PLATFORM"; then
     2     echo "checking for OS"
     3 
     4     NGX_SYSTEM=`uname -s 2>/dev/null`
     5     NGX_RELEASE=`uname -r 2>/dev/null`
     6     NGX_MACHINE=`uname -m 2>/dev/null`
     7 
     8     echo " + $NGX_SYSTEM $NGX_RELEASE $NGX_MACHINE"
     9 
    10     NGX_PLATFORM="$NGX_SYSTEM:$NGX_RELEASE:$NGX_MACHINE";
    11 
    12     case "$NGX_SYSTEM" in
    13         MINGW32_*)
    14             NGX_PLATFORM=win32
    15         ;;
    16     esac
    17 
    18 else
    19     echo "building for $NGX_PLATFORM"
    20     NGX_SYSTEM=$NGX_PLATFORM
    21 fi
    View Code

    10.

    . auto/cc/conf

    11.

    1 if [ "$NGX_PLATFORM" != win32 ]; then
    2     . auto/headers
    3 fi
    4 
    5 . auto/os/conf
    6 
    7 if [ "$NGX_PLATFORM" != win32 ]; then
    8     . auto/unix
    9 fi
    View Code

    12.

    . auto/threads

    13.将nginx对应的所有模块编码到ngx_modules.c文件中。

    . auto/modules

    14.

    . auto/lib/conf

  • 相关阅读:
    idea配置tomcat
    idea中配置tomcat乱码问题--记录处理经验
    svn提交报错值 remains tree in conflict
    Vue之MVVM
    python 时间日期处理
    SVN使用指南
    linux查看硬件信息
    软件集成过程标准化的建议
    术语辨析
    科学计数e+转成正常str
  • 原文地址:https://www.cnblogs.com/wangtengxiang/p/6220276.html
Copyright © 2020-2023  润新知