在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