nginx-build

nginx-build - provides a command to build nginx seamlessly.
Required
- wget for downloading nginx and external libraries
- git for downloading 3rd party module
Build Support
Install
go get -u github.com/cubicdaiya/nginx-build
If you don't have go-runtime, you may download the binary from here.
Quick Start
mkdir -p ~/opt/nginx
nginx-build -d ~/opt/nginx
cd ~/opt/nginx/1.7.12/nginx-1.7.12
objs/bin/nginx -V
Custom Configuration
Configuration for building nginx
nginx-build provides a mechanism for customizing configuration for building nginx.
Prepare a configure script like the following.
#!/bin/sh
./configure \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--with-cc-opt="-Wno-deprecated-declarations" \
Give this file to nginx-build with -c.
$ nginx-build -d ~/opt/nginx -c configure.example
Embedding ZLIB statically
Give -zlib to nginx-build.
$ nginx-build -d ~/opt/nginx -zlib
-zlibversion is an option to set a version of ZLIB.
$ nginx-build -d ~/opt/nginx -zlib -zlibversion=1.2.8
Embedding PCRE statically
Give -pcre to nginx-build.
$ nginx-build -d ~/opt/nginx -pcre
-pcreversion is an option to set a version of PCRE.
$ nginx-build -d ~/opt/nginx -pcre -pcreversion=8.36
Embedding OpenSSL statically
Give -openssl to nginx-build.
$ nginx-build -d ~/opt/nginx -openssl
-opensslversion is an option to set a version of OPENSSL.
$ nginx-build -d ~/opt/nginx -openssl -opensslversion=1.0.2a
Embedding 3rd-party modules
nginx-build provides a mechanism for embedding 3rd-party modules.
Prepare a ini-file below.
[echo-nginx-module]
form=git
url=https://github.com/openresty/echo-nginx-module.git
rev=v0.57
[ngx_devel_kit]
form=git
url=https://github.com/simpl/ngx_devel_kit
rev=v0.2.19
Give this file to nginx-build with -m.
$ nginx-build -d ~/opt/nginx -m modules.cfg.example