`
Poechant
  • 浏览: 227341 次
博客专栏
Bebe66e7-3a30-3fc9-aeea-cfa3b474b591
Nginx高性能Web服务...
浏览量:24227
5738817b-23a1-3a32-86de-632d7da73b1e
Cumulus实时媒体服务...
浏览量:22027
社区版块
存档分类
最新评论

精读Nginx源码·自动脚本篇(2)设置初始变量脚本 auto/init

阅读更多

精读 Nginx 源码·自动脚本篇(2)设置初始变量脚本 auto/init

  • Author: Poechant
  • Blog: blog.CSDN.net/Poechant
  • Email: zhongchao.ustc#gmail.com (#->@)
  • Date: March 4th, 2012
  • Copyright © 柳大·Poechant

configure中运行完auto/options脚本后,接着运行auto/init脚本,其中所做的工作如下。

1 Makefile文件名变量

默认情况下是:

  • objs/Makefile

代码如下:

NGX_MAKEFILE=$NGX_OBJS/Makefile

2 源文件名变量

默认情况下是:

  • objs/ngx_modules.c

代码如下:

NGX_MODULES_C=$NGX_OBJS/ngx_modules.c

3 头文件名变量

默认情况下是:

  • objs/ngx_auto_headers.h
  • objs/ngx_auto_config.h

代码如下:

NGX_AUTO_HEADERS_H=$NGX_OBJS/ngx_auto_headers.h
NGX_AUTO_CONFIG_H=$NGX_OBJS/ngx_auto_config.h

4 自动测试文件名与配置错误文件名变量

默认情况下是:

  • objs/autotest
  • objs/autoconf.err

代码如下:

NGX_AUTOTEST=$NGX_OBJS/autotest
NGX_AUTOCONF_ERR=$NGX_OBJS/autoconf.err

5 STUBS 相关变量

默认情况下是:

  • objs/autoconf.err
  • objs/Makefile

代码如下:

# STUBs
NGX_ERR=$NGX_OBJS/autoconf.err
MAKEFILE=$NGX_OBJS/Makefile

6 PCH 相关变量

代码如下:

NGX_PCH=
NGX_USE_PCH=

7 测试所在环境下"\c"和"-n"

由于 Nginx 支持多种操作系统,比如 Mac OS、Linux、Solaris 等。不同的系统下的 Shell 也小有差别。所以在auto/init脚本中有如下两个变量:

  • ngx_n
  • ngx_c

代码如下:

# check the echo's "-n" option and "\c" capability

if echo "test\c" | grep c >/dev/null; then
    if echo -n test | grep n >/dev/null; then
        ngx_n=
        ngx_c=
    else
        ngx_n=-n
        ngx_c=
    fi
else
    ngx_n=
    ngx_c='\c'
fi

8 创建并写入 Makefile

还有两个 targets,default 执行 build,clean 执行rm -rf Makefile $NGX_OBJS

# create Makefile

cat << END > Makefile

default:    build
clean:
    rm -rf Makefile $NGX_OBJS

-

转载请注明来自“柳大的CSDN博客”:blog.csdn.net/Poechant

-

2
0
分享到:
评论

相关推荐

    nginx一键安装包含自动安装脚本

    **Nginx 一键安装与自动化脚本** 在IT行业中,服务器配置和管理是一项重要的任务,尤其是在处理Web服务时。Nginx是一款高性能的HTTP和反向代理服务器,以其高效、稳定和轻量级的特性而广受欢迎。本文将详细讨论如何...

    Nginx通过/etc/init.d/nginx方式启停【nginx配置文件】

    vi /etc/init.d/nginx 修改nginx后 chmod +x /etc/init.d/nginx /sbin/chkconfig nginx on sudo /sbin/chkconfig --list nginx /etc/init.d/nginx start

    一键安装Nginx脚本+源码

    6. **创建启动脚本**:为 Nginx 创建系统服务启动脚本,以便于用 `systemd` 或 `init.d` 方式管理。 7. **启动与检查**:启动 Nginx 并检查其是否成功运行。 **源码安装的优势** 源码安装相比于二进制包安装有以下...

    nginx源码包安装后设置开机自启.docx

    nginx源码包安装后设置开机自启 在 Linux 系统中,源码安装的软件默认无法使用 systemd 管理,而 systemd 是 Linux 系统中最常用的进程管理工具之一。因此,如果需要使用 systemd 管理源码安装的软件,需要手动编写...

    Nginx一键部署脚本

    通过提供用户友好的界面,用户只需输入Nginx的版本号和部署目录,脚本即可自动完成从依赖库安装到Nginx服务启动的所有步骤。该脚本适用于基于YUM的Linux发行版 功能 记录日志:脚本中的每个关键步骤都会记录到日志中...

    nginx添加站点脚本

    Nginx通过配置文件(通常位于`/etc/nginx/nginx.conf`)管理多个站点,每个站点都有自己的配置块,通常称为`server`块。 ### 2. 添加站点脚本的作用 添加站点脚本是为了简化Nginx站点配置过程,避免手动编写配置...

    Nginx源码安装手册

    在nginx及模块安装篇中,手册开始进入核心步骤:下载nginx源码包、编译安装,并配置自启动脚本。从源码安装Nginx的第一步是下载对应的源码包,并解压到一个指定的目录。之后,使用./configure命令配合一系列参数来...

    nginx源码windows版

    本篇文章将详细讲解如何在Windows环境下,使用Visual Studio 2010编译并运行Nginx源码。 **一、环境准备** 在编译Nginx源码前,我们需要确保以下软件已经安装: 1. **Visual Studio 2010**:作为C/C++编译器,...

    nginx 启动脚本

    通常,Nginx的启动脚本位于操作系统的服务管理目录下,如Linux系统中的`/etc/init.d/nginx`或`/usr/local/nginx/sbin/nginx`。这些脚本包含了启动、停止、重启Nginx服务的相关命令,并与系统的服务管理系统(如...

    nginx-init-ubuntu, 尝试和 true Nginx 初始化脚本得到增强 发送请求? !.zip

    nginx-init-ubuntu, 尝试和 true Nginx 初始化脚本得到增强 发送请求? ! nginx-init-ubuntu状态 当前版本:v3.9.0以前稳定版本 v3.8.0注意:v3.8.0在最近几个月一直稳定,没有问题。 v3.9.0稳定,是新的。电子邮件...

    nginx源码分析configure脚本详解

    - auto/init:初始化一些关键变量,如NGX_AUTO_HEADERS_H等。 - auto/sources:设置核心模块和平台代码对应的源文件。 - auto/headers:检查系统平台所需的头文件,并输出到ngx_auto_headers.h文件中。 - auto/os/...

    Nginx日志自动归档备份shell脚本log.sh

    Nginx日志自动归档备份shell脚本log

    ansible实现nginx源码的自动化安装

    在这个场景中,我们将探讨如何使用Ansible自动化实现Nginx源码的安装过程。 首先,我们需要在控制节点(运行Ansible的主机)上安装Ansible,并配置好库存文件(inventory),该文件列出了所有要管理的目标服务器。...

    开启、停止 nginx 的shell脚本

    Nginx 配置文件通常位于 `/etc/nginx/nginx.conf` 或 `/etc/nginx/sites-enabled/` 目录下。你可以根据需要自定义配置来满足特定的服务器需求,例如设置虚拟主机、调整日志记录等。 “工具”可能意味着这个脚本是一...

    nginx源码安装方法

    ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ``` 这一步是为了方便执行Nginx命令。 #### 七、检查与启动 1. **检查配置文件**: ```bash nginx -t ``` 使用此命令检查Nginx配置文件是否有语法错误...

    nginx 自动化安装脚本

    nginx 自动化安装脚本,下载直接运行安装就可以,还集成了限制国家ip模块

    Nginx日志切割脚本

    Nginx日志切割脚本

    nginx各版本源码包

    7. **启动和配置**:启动 Nginx 并根据需求进行配置,如 `sudo /usr/local/nginx/sbin/nginx`,然后通过修改 `/usr/local/nginx/conf/nginx.conf` 文件来调整配置。 **3. Nginx 功能与使用** - **Web 服务**:...

    windows下nginx init脚本示例

    ### Windows下Nginx Init脚本详解 #### 标题:Windows下Nginx Init脚本示例 #### 描述:Windows环境下Nginx Init脚本示例,包含启动及关闭示例。 #### 标签:Nginx Init脚本 #### 部分内容解读: ```batch REM ...

    nginx开机启动脚本

    # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/nginx.pid ``` 这部分定义了脚本的基本信息,包括执行环境、作者、服务描述、配置文件路径以及 PID 文件路径。 #### 函数定义 1. ...

Global site tag (gtag.js) - Google Analytics