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

解剖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

-

分享到:
评论

相关推荐

    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一键安装包含自动安装脚本

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

    nginx 启动脚本

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

    windows下nginx init脚本示例

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

    nginx 自动化安装脚本

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

    ubuntu自动安装nginx php脚本

    ubuntu自动安装nginx php脚本ubuntu自动安装nginx php脚本

    Nginx一键部署脚本

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

    window下nginx启动脚本

    nginx配置修改后运行此脚本启动nginx。 其脚本的作用往往是简化了启动的便利

    nginx自动化安装shell脚本

    nginx自动化安装shell脚本

    nginx添加站点脚本

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

    一键安装Nginx脚本+源码

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

    Centos7系统自动安装nginx脚本

    Centos7系统自动安装nginx脚本, 由于每次安装新的环境如果需要 Nginx 的话都需要进行一次手动安装,为了减轻重复工作,书写自动安装 Nginx 安装脚本

    Linux自动化脚本安装Nginx使用说明

    要创建一个自动化安装Nginx的脚本,你需要熟悉bash shell语法,包括变量、条件语句、循环以及函数等概念。 1. **安装必备工具**:在开始安装Nginx之前,确保系统已经安装了必要的软件包管理器,如`apt`(Ubuntu/...

    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稳定,是新的。电子邮件...

    centos/rhel下实现nginx自启动脚本实例

    通常在centos、rhel的OS下,我们大多是通过chkconfig来管理服务,比如开机自动启动服务之类。 这里给大家介绍一个很好用的nginx启动脚本。以及简单的使用,如下: 1. 执行如下命令: vim /etc/init.d/nginxd 2....

    windows启动nginx.bat脚本

    windows启动nginx脚本

    Nginx脚本

    `来控制Lua代码缓存,`set_by_lua*`指令来执行Lua代码并设置变量,以及`rewrite_by_lua*`、`access_by_lua*`、`content_by_lua*`等指令来分别在重写、访问和内容处理阶段执行Lua脚本。 #### 2.2 Lua脚本示例 ```...

    解决Nginx启动脚本在redhat上不兼容问题

    2. **依赖项未满足**:脚本中引用了RedHat特有的`/etc/rc.d/init.d/functions`函数库,但该文件可能不存在或版本不匹配。 3. **命令语法差异**:某些命令在不同的Linux发行版中语法可能存在差异。 4. **Systemd集成...

    linux安装nginx一键脚本(自己用过)

    linux安装nginx一键脚本(自己用过,完美可用),这个文件是nginx.sh,可以在linux的小黑框中,先上传到服务器自己想安装的目录,然后找到找到这个目录再找到这个文件,执行sh nginx.sh即可自动安装。

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

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

Global site tag (gtag.js) - Google Analytics