mirror of
https://github.com/nginx/nginx.git
synced 2024-11-29 20:24:21 -06:00
c31a9bb5e3
*) Security: if nginx was built with the ngx_http_realip_module and the "satisfy_any on" directive was used, then access and authorization directives did not work. The ngx_http_realip_module was not built and is not built by default. *) Change: the "$time_gmt" variable name was changed to "$time_local". *) Change: the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives. *) Feature: the ngx_http_memcached_module. *) Feature: the "proxy_buffering" directive. *) Bugfix: the changes in accept mutex handling when the "rtsig" method was used; the bug had appeared in 0.3.0. *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header line, then nginx returns the 411 error. *) Bugfix: if the "auth_basic" directive was inherited from the http level, then the realm in the "WWW-Authenticate" header line was without the "Basic realm" text. *) Bugfix: if the "combined" format was explicitly specified in the "access_log" directive, then the empty lines was written to the log; the bug had appeared in 0.3.8. *) Bugfix: nginx did not run on the sparc platform under any OS except Solaris. *) Bugfix: now it is not necessary to place space between the quoted string and closing bracket in the "if" directive.
413 lines
12 KiB
Plaintext
413 lines
12 KiB
Plaintext
|
|
# Copyright (C) Igor Sysoev
|
|
|
|
|
|
help=no
|
|
|
|
NGX_PREFIX=
|
|
NGX_SBIN_PATH=
|
|
NGX_CONF_PATH=
|
|
NGX_ERROR_LOG_PATH=
|
|
NGX_PID_PATH=
|
|
NGX_USER=
|
|
NGX_GROUP=
|
|
|
|
CC=${CC:-gcc}
|
|
CPP=
|
|
NGX_OBJS=objs
|
|
|
|
NGX_DEBUG=NO
|
|
NGX_CC_OPT=
|
|
NGX_LD_OPT=
|
|
CPU=NO
|
|
|
|
NGX_TEST_BUILD_DEVPOLL=NO
|
|
NGX_TEST_BUILD_EPOLL=NO
|
|
NGX_TEST_BUILD_RTSIG=NO
|
|
NGX_TEST_BUILD_SOLARIS_SENDFILEV=NO
|
|
|
|
NGX_PLATFORM=
|
|
NGX_WINE=
|
|
|
|
EVENT_FOUND=NO
|
|
|
|
EVENT_RTSIG=NO
|
|
EVENT_SELECT=NO
|
|
EVENT_POLL=NO
|
|
EVENT_AIO=NO
|
|
|
|
USE_THREADS=NO
|
|
|
|
HTTP=YES
|
|
|
|
NGX_HTTP_LOG_PATH=
|
|
NGX_HTTP_CLIENT_TEMP_PATH=
|
|
NGX_HTTP_PROXY_TEMP_PATH=
|
|
NGX_HTTP_FASTCGI_TEMP_PATH=
|
|
|
|
HTTP_CHARSET=YES
|
|
HTTP_GZIP=YES
|
|
HTTP_SSL=NO
|
|
HTTP_SSI=YES
|
|
HTTP_POSTPONE=NO
|
|
HTTP_REALIP=NO
|
|
HTTP_ACCESS=YES
|
|
HTTP_AUTH_BASIC=YES
|
|
HTTP_USERID=YES
|
|
HTTP_AUTOINDEX=YES
|
|
HTTP_STATUS=NO
|
|
HTTP_GEO=YES
|
|
HTTP_REFERER=YES
|
|
HTTP_REWRITE=YES
|
|
HTTP_PROXY=YES
|
|
HTTP_FASTCGI=YES
|
|
HTTP_MEMCACHED=YES
|
|
HTTP_EMPTY_GIF=YES
|
|
|
|
# STUB
|
|
HTTP_STUB_STATUS=NO
|
|
|
|
IMAP=NO
|
|
IMAP_SSL=NO
|
|
|
|
NGX_ADDONS=
|
|
|
|
USE_PCRE=NO
|
|
PCRE=NONE
|
|
PCRE_OPT=
|
|
|
|
USE_OPENSSL=NO
|
|
OPENSSL=NONE
|
|
|
|
USE_MD5=NO
|
|
MD5=NONE
|
|
MD5_OPT=
|
|
MD5_ASM=NO
|
|
|
|
USE_ZLIB=NO
|
|
ZLIB=NONE
|
|
ZLIB_OPT=
|
|
ZLIB_ASM=NO
|
|
|
|
|
|
for option
|
|
do
|
|
case "$option" in
|
|
-*=*) value=`echo "$option" | sed -e 's/[-_a-zA-Z0-9]*=//'` ;;
|
|
*) value="" ;;
|
|
esac
|
|
|
|
case "$option" in
|
|
--help) help=yes ;;
|
|
|
|
--prefix=*) NGX_PREFIX="$value" ;;
|
|
--sbin-path=*) NGX_SBIN_PATH="$value" ;;
|
|
--conf-path=*) NGX_CONF_PATH="$value" ;;
|
|
--error-log-path=*) NGX_ERROR_LOG_PATH="$value";;
|
|
--pid-path=*) NGX_PID_PATH="$value" ;;
|
|
--user=*) NGX_USER="$value" ;;
|
|
--group=*) NGX_GROUP="$value" ;;
|
|
|
|
--crossbuild=*) NGX_PLATFORM="$value" ;;
|
|
|
|
--builddir=*) NGX_OBJS="$value" ;;
|
|
|
|
--with-rtsig_module) EVENT_RTSIG=YES ;;
|
|
--with-select_module) EVENT_SELECT=YES ;;
|
|
--without-select_module) EVENT_SELECT=NONE ;;
|
|
--with-poll_module) EVENT_POLL=YES ;;
|
|
--without-poll_module) EVENT_POLL=NONE ;;
|
|
--with-aio_module) EVENT_AIO=YES ;;
|
|
|
|
--with-threads=*) USE_THREADS="$value" ;;
|
|
--with-threads) USE_THREADS="pthreads" ;;
|
|
|
|
--without-http) HTTP=NO ;;
|
|
--http-log-path=*) NGX_HTTP_LOG_PATH="$value" ;;
|
|
--http-client-body-temp-path=*) NGX_HTTP_CLIENT_TEMP_PATH="$value" ;;
|
|
--http-proxy-temp-path=*) NGX_HTTP_PROXY_TEMP_PATH="$value" ;;
|
|
--http-fastcgi-temp-path=*) NGX_HTTP_FASTCGI_TEMP_PATH="$value" ;;
|
|
|
|
--with-http_ssl_module) HTTP_SSL=YES ;;
|
|
--with-http_realip_module) HTTP_REALIP=YES ;;
|
|
--without-http_charset_module) HTTP_CHARSET=NO ;;
|
|
--without-http_gzip_module) HTTP_GZIP=NO ;;
|
|
--without-http_ssi_module) HTTP_SSI=NO ;;
|
|
--without-http_userid_module) HTTP_USERID=NO ;;
|
|
--without-http_access_module) HTTP_ACCESS=NO ;;
|
|
--without-http_auth_basic_module) HTTP_AUTH_BASIC=NO ;;
|
|
--without-http_autoindex_module) HTTP_AUTOINDEX=NO ;;
|
|
--without-http_status_module) HTTP_STATUS=NO ;;
|
|
--without-http_geo_module) HTTP_GEO=NO ;;
|
|
--without-http_referer_module) HTTP_REFERER=NO ;;
|
|
--without-http_rewrite_module) HTTP_REWRITE=NO ;;
|
|
--without-http_proxy_module) HTTP_PROXY=NO ;;
|
|
--without-http_fastcgi_module) HTTP_FASTCGI=NO ;;
|
|
--without-http_memcached_module) HTTP_MEMCACHED=NO ;;
|
|
--without-http_empty_gif_module) HTTP_EMPTY_GIF=NO ;;
|
|
|
|
# STUB
|
|
--with-http_stub_status_module) HTTP_STUB_STATUS=YES ;;
|
|
|
|
--with-imap) IMAP=YES ;;
|
|
--with-imap_ssl_module) IMAP_SSL=YES ;;
|
|
|
|
--add-module=*) NGX_ADDONS="$NGX_ADDONS $value" ;;
|
|
|
|
--with-cc=*) CC="$value" ;;
|
|
--with-cpp=*) CPP="$value" ;;
|
|
--with-cc-opt=*) NGX_CC_OPT="$value" ;;
|
|
--with-ld-opt=*) NGX_LD_OPT="$value" ;;
|
|
--with-cpu-opt=*) CPU="$value" ;;
|
|
--with-debug) NGX_DEBUG=YES ;;
|
|
|
|
--without-pcre) USE_PCRE=DISABLED ;;
|
|
--with-pcre=*) PCRE="$value" ;;
|
|
--with-pcre-opt=*) PCRE_OPT="$value" ;;
|
|
|
|
--with-openssl=*) OPENSSL="$value" ;;
|
|
--with-openssl-opt=*) OPENSSL_OPT="$value" ;;
|
|
|
|
--with-md5=*) MD5="$value" ;;
|
|
--with-md5-opt=*) MD5_OPT="$value" ;;
|
|
--with-md5-asm) MD5_ASM=YES ;;
|
|
|
|
--with-zlib=*) ZLIB="$value" ;;
|
|
--with-zlib-opt=*) ZLIB_OPT="$value" ;;
|
|
--with-zlib-asm=*) ZLIB_ASM="$value" ;;
|
|
|
|
--test-build-devpoll) NGX_TEST_BUILD_DEVPOLL=YES ;;
|
|
--test-build-epoll) NGX_TEST_BUILD_EPOLL=YES ;;
|
|
--test-build-rtsig) NGX_TEST_BUILD_RTSIG=YES ;;
|
|
--test-build-solaris-sendfilev) NGX_TEST_BUILD_SOLARIS_SENDFILEV=YES ;;
|
|
|
|
*)
|
|
echo "$0: error: invalid option \"$option\""
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
if [ $help = yes ]; then
|
|
|
|
cat << END
|
|
|
|
--help this message
|
|
|
|
--prefix=PATH set the installation prefix
|
|
--sbin-path=PATH set path to the nginx binary file
|
|
--conf-path=PATH set path to the nginx.conf file
|
|
--error-log-path=PATH set path to the error log
|
|
--pid-path=PATH set path to nginx.pid file
|
|
|
|
--user=USER set non-privilege user
|
|
for the worker processes
|
|
--group=GROUP set non-privilege group
|
|
for the worker processes
|
|
|
|
--builddir=DIR set the build directory
|
|
|
|
--with-rtsig_module enable rtsig module
|
|
--with-select_module enable select module
|
|
--without-select_module disable select module
|
|
--with-poll_module enable poll module
|
|
--without-poll_module disable poll module
|
|
|
|
--with-http_ssl_module enable ngx_http_ssl_module
|
|
--with-http_realip_module enable ngx_http_realip_module
|
|
--without-http_charset_module disable ngx_http_charset_module
|
|
--without-http_gzip_module disable ngx_http_gzip_module
|
|
--without-http_ssi_module disable ngx_http_ssi_module
|
|
--without-http_userid_module disable ngx_http_userid_module
|
|
--without-http_access_module disable ngx_http_access_module
|
|
--without-http_auth_basic_module disable ngx_http_auth_basic_module
|
|
--without-http_autoindex_module disable ngx_http_autoindex_module
|
|
--without-http_geo_module disable ngx_http_geo_module
|
|
--without-http_referer_module disable ngx_http_referer_module
|
|
--without-http_rewrite_module disable ngx_http_rewrite_module
|
|
--without-http_proxy_module disable ngx_http_proxy_module
|
|
--without-http_fastcgi_module disable ngx_http_fastcgi_module
|
|
--without-http_memcached_module disable ngx_http_memcached_module
|
|
--without-http_empty_gif_module disable ngx_http_empty_gif_module
|
|
|
|
--http-log-path=PATH set path to the http access log
|
|
--http-client-body-temp-path=PATH set path to the http client request body
|
|
temporary files path
|
|
--http-proxy-temp-path=PATH set path to the http proxy temporary
|
|
files path
|
|
--http-fastcgi-temp-path=PATH set path to the http fastcgi temporary
|
|
files path
|
|
|
|
--without-http disable HTTP server
|
|
|
|
--with-imap enable IMAP4/POP3 proxy module
|
|
|
|
--with-cc=PATH set path to C compiler
|
|
--with-cpp=PATH set path to C preprocessor
|
|
--with-cc-opt=OPTIONS set additional options for C compiler
|
|
--with-ld-opt=OPTIONS set additional options for linker
|
|
--with-cpu-opt=CPU build for specified CPU, the valid values:
|
|
pentium, pentiumpro, pentium4, sparc64
|
|
|
|
--without-pcre disable PCRE libarary usage
|
|
--with-pcre=DIR set path to PCRE library sources
|
|
--with-pcre-opt=OPTIONS set additional options for PCRE building
|
|
|
|
--with-md5=DIR set path to md5 library sources
|
|
--with-md5-opt=OPTIONS set additional options for md5 building
|
|
--with-md5-asm use md5 assembler sources
|
|
|
|
--with-zlib=DIR set path to zlib library sources
|
|
--with-zlib-opt=OPTIONS set additional options for zlib building
|
|
--with-zlib-asm=CPU use zlib assembler sources optimized
|
|
for specified CPU, the valid values:
|
|
pentium, pentiumpro
|
|
|
|
--with-openssl=DIR set path to OpenSSL library sources
|
|
--with-openssl-opt=OPTIONS set additional options for OpenSSL building
|
|
|
|
--with-debug enable the debugging logging
|
|
|
|
END
|
|
|
|
exit 1
|
|
fi
|
|
|
|
|
|
if [ $HTTP = NO ]; then
|
|
HTTP_CHARSET=NO
|
|
HTTP_GZIP=NO
|
|
HTTP_SSI=NO
|
|
HTTP_USERID=NO
|
|
HTTP_ACCESS=NO
|
|
HTTP_STATUS=NO
|
|
HTTP_REWRITE=NO
|
|
HTTP_PROXY=NO
|
|
HTTP_FASTCGI=NO
|
|
fi
|
|
|
|
|
|
if [ ".$NGX_PLATFORM" = ".win32" ]; then
|
|
NGX_WINE=$WINE
|
|
fi
|
|
|
|
|
|
NGX_PREFIX=${NGX_PREFIX:-/usr/local/nginx}
|
|
|
|
|
|
case ".$NGX_SBIN_PATH" in
|
|
./*)
|
|
;;
|
|
|
|
.)
|
|
NGX_SBIN_PATH=$NGX_PREFIX/sbin/nginx
|
|
;;
|
|
|
|
*)
|
|
NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH
|
|
;;
|
|
esac
|
|
|
|
|
|
case ".$NGX_CONF_PATH" in
|
|
./*)
|
|
;;
|
|
|
|
.)
|
|
NGX_CONF_PATH=$NGX_PREFIX/conf/nginx.conf
|
|
;;
|
|
|
|
*)
|
|
NGX_CONF_PATH=$NGX_PREFIX/$NGX_CONF_PATH
|
|
;;
|
|
esac
|
|
|
|
|
|
case ".$NGX_PID_PATH" in
|
|
./*)
|
|
;;
|
|
|
|
.)
|
|
NGX_PID_PATH=$NGX_PREFIX/logs/nginx.pid
|
|
;;
|
|
|
|
*)
|
|
NGX_PID_PATH=$NGX_PREFIX/$NGX_PID_PATH
|
|
;;
|
|
esac
|
|
|
|
|
|
case ".$NGX_ERROR_LOG_PATH" in
|
|
./*)
|
|
;;
|
|
|
|
.)
|
|
NGX_ERROR_LOG_PATH=$NGX_PREFIX/logs/error.log
|
|
;;
|
|
|
|
.stderr)
|
|
NGX_ERROR_LOG_PATH=
|
|
;;
|
|
|
|
*)
|
|
NGX_ERROR_LOG_PATH=$NGX_PREFIX/$NGX_ERROR_LOG_PATH
|
|
;;
|
|
esac
|
|
|
|
|
|
case ".$NGX_HTTP_LOG_PATH" in
|
|
./*)
|
|
;;
|
|
|
|
.)
|
|
NGX_HTTP_LOG_PATH=$NGX_PREFIX/logs/access.log
|
|
;;
|
|
|
|
*)
|
|
NGX_HTTP_LOG_PATH=$NGX_PREFIX/$NGX_HTTP_LOG_PATH
|
|
;;
|
|
esac
|
|
|
|
|
|
case ".$NGX_HTTP_CLIENT_TEMP_PATH" in
|
|
./*)
|
|
;;
|
|
|
|
.)
|
|
NGX_HTTP_CLIENT_TEMP_PATH=$NGX_PREFIX/client_body_temp
|
|
;;
|
|
|
|
*)
|
|
NGX_HTTP_CLIENT_TEMP_PATH=$NGX_PREFIX/$NGX_HTTP_CLIENT_TEMP_PATH
|
|
;;
|
|
esac
|
|
|
|
|
|
case ".$NGX_HTTP_PROXY_TEMP_PATH" in
|
|
./*)
|
|
;;
|
|
|
|
.)
|
|
NGX_HTTP_PROXY_TEMP_PATH=$NGX_PREFIX/proxy_temp
|
|
;;
|
|
|
|
*)
|
|
NGX_HTTP_PROXY_TEMP_PATH=$NGX_PREFIX/$NGX_HTTP_PROXY_TEMP_PATH
|
|
;;
|
|
esac
|
|
|
|
|
|
case ".$NGX_HTTP_FASTCGI_TEMP_PATH" in
|
|
./*)
|
|
;;
|
|
|
|
.)
|
|
NGX_HTTP_FASTCGI_TEMP_PATH=$NGX_PREFIX/fastcgi_temp
|
|
;;
|
|
|
|
*)
|
|
NGX_HTTP_FASTCGI_TEMP_PATH=$NGX_PREFIX/$NGX_HTTP_FASTCGI_TEMP_PATH
|
|
;;
|
|
esac
|