Open Source Nginx
The build is configured using the configure
command.
It defines various aspects of the system, including the methods nginx
is allowed to use for connection processing.
At the end it creates a Makefile
.
The configure
command supports the following parameters:
--prefix=
— defines
a directory that will keep server files.
This same directory will also be used for all relative paths set by
path
configure
(except for paths to libraries sources)
and in the nginx.conf
configuration file.
It is set to the /usr/local/nginx
directory by default.
--sbin-path=
— sets
the name of an nginx executable file.
This name is used only during installation.
By default the file is named
path
.
prefix
/sbin/nginx
--conf-path=
— sets
the name of an path
nginx.conf
configuration file.
If needs be, nginx can always be started with a different configuration file,
by specifying it in the command-line parameter
-c
file
.
prefix
/conf/nginx.conf
--pid-path=
— sets
the name of an nginx.pid file that will store the process ID
of the main process.
After installation, the file name can always be changed in the
path
nginx.conf
configuration file using the
pid directive.
By default the file is named
.
prefix
/logs/nginx.pid
--error-log-path=
— sets
the name of the primary error, warnings, and diagnostic file.
After installation, the file name can always be changed in the
path
nginx.conf
configuration file using the
error_log directive.
By default the file is named
.
prefix
/logs/error.log
--http-log-path=
— sets
the name of the primary request log file of the HTTP server.
After installation, the file name can always be changed in the
path
nginx.conf
configuration file using the
access_log directive.
By default the file is named
.
prefix
/logs/access.log
--user=
— sets
the name of an unprivileged user whose credentials will be used
by worker processes.
After installation, the name can always be changed in the
name
nginx.conf
configuration file using the
user directive.
The default user name is nobody.
--group=
— sets
the name of a group whose credentials will be used
by worker processes.
After installation, the name can always be changed in the
name
nginx.conf
configuration file using the
user directive.
By default, a group name is set to the name of an unprivileged user.
--with-select_module
--without-select_module
— enables or disables
building a module that allows the server to work with the
select()
method.
This module is built automatically if the platform does not appear
to support more appropriate methods such as kqueue, epoll, or /dev/poll.
--with-poll_module
--without-poll_module
— enables or disables
building a module that allows the server to work with the
poll()
method.
This module is built automatically if the platform does not appear
to support more appropriate methods such as kqueue, epoll, or /dev/poll.
--without-http_gzip_module
— disables building a module
that compresses responses
of an HTTP server.
The zlib library is required to build and run this module.
--without-http_rewrite_module
— disables building a
module that allows an HTTP server to
redirect requests and change URI
of requests.
The PCRE library is required to build and run this module.
--without-http_proxy_module
— disables building an
HTTP server proxying module.
--with-http_ssl_module
— enables building a module
that adds the HTTPS protocol
support to an HTTP server.
This module is not built by default.
The OpenSSL library is required to build and run this module.
--with-pcre=
— sets
the path to the sources of the PCRE library.
The library distribution (version
4.4 — 8.39) needs to be downloaded from the
PCRE site and extracted.
The rest is done by nginx’s path
./configure
and
make
.
The library is required for regular expressions support in the
location directive
and for the
ngx_http_rewrite_module
module.
--with-pcre-jit
— builds the PCRE library with
“just-in-time compilation” support (1.1.12, the
pcre_jit directive).
--with-zlib=
— sets
the path to the sources of the zlib library.
The library distribution (version
1.1.3 — 1.2.8) needs to be downloaded from the
zlib site and extracted.
The rest is done by nginx’s path
./configure
and
make
.
The library is required for the
ngx_http_gzip_module module.
--with-cc-opt=
— sets
additional parameters that will be added to the CFLAGS variable.
When using the system PCRE library under FreeBSD,
parameters
--with-cc-opt="-I /usr/local/include"
should be specified.
If the number of files supported by select()
needs to be
increased it can also be specified here such as this:
--with-cc-opt="-D FD_SETSIZE=2048"
.
--with-ld-opt=
— sets
additional parameters that will be used during linking.
When using the system PCRE library under FreeBSD,
parameters
--with-ld-opt="-L /usr/local/lib"
should be specified.
Example of parameters usage (all of this needs to be typed in one line):
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.8
After configuration,
nginx is compiled and installed using make
.