在Nginx源码目录下有一个shell脚本configure,这个脚本为nginx做了大量准备工作,比如环境检测、参数解析、目录生成、Makefile文件的生成等,在configure脚本执行时会调用auto目录下的一系列脚本来共同完成这项工作。之后就可以依次执行命令make、make install编译与安装nginx执行文件。

  Nginx大多都是作为web server使用的,用户可以根据自己的需求开发相应的http模块,这些模块就是通过configure添加到nginx中的。使用命令./configure --help可以查看所有支持的配置参数。下面介绍常用的一些参数:

  --prefix=PATH

  设置软件安装目录路径。正如这个参数名所表达的意思一样,这是个路径前缀。下边各个参数指定的路径都是相对路径,都是相对于这个路径的。默认值:/usr/local/nginx。

  --sbin-path=PATH

  设置可执行文件安装目录路径。默认值:<prefix>/sbin/nginx。

  --modules-path=PATH

  设置模块安装目录路径。

  --conf-path=PATH

  设置配置文件安装目录路径。默认值:<prefix>/conf/nginx.conf。

  --error-log-path=PATH

  设置错误日志文件安装目录路径。默认值:<prefix>/logs/error.log。

  --pid-path=PATH

  设置进程文件安装目录路径。默认值:<prefix>/logs/nginx.pid。

  --add-module=PATH

  设置第三方模块所在目录路径。

  --with-select_module

  --with-poll_module

  --with-http_ssl_module

  --with-debug

  ....

  所有这些以 --with 开头的参数代表启用此模块。用于启用那些nginx默认未启用的模块。

  --without-http_charset_module

  --without-http_gzip_module

  --without-http_proxy_module

  ....

  所有这些以 --without 开头的参数代表禁用此模块。用于禁用一些nginx默认启用的模块。

  更多参数使用命令 ./configure --help 查看。

 

  执行以下命令进行Nginx配置:

./configure --prefix=/data/appstore --add-module=mymodule

  为了方便使用,可以将命令编写成脚本,比如下面这个脚本configure.sh:

./configure \
    --prefix=/data/appstore/nginx/ \
    --add-module=nginx_adsurvey_module/ \
    --with-http_realip_module \
    --with-http_ssl_module \
    --with-debug

   之后进行编译、安装:

  make (or make -j8  // 8核编译)
  make install

  安装完成后启动Nginx进程:

  cd ../nginx  // 进入实际安装目录
  sbin/nginx