Add containerization and make this bad boy work on Windows and MacOS
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,656 @@
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for C compiler
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for gcc -pipe switch
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for gcc builtin atomic operations
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for C99 variadic macros
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for gcc variadic macros
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for unistd.h
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for inttypes.h
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for limits.h
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sys/filio.h
|
||||
|
||||
objs/autotest.c:3:23: fatal error: sys/filio.h: No such file or directory
|
||||
compilation terminated.
|
||||
----------
|
||||
|
||||
|
||||
#include <sys/filio.h>
|
||||
|
||||
int main() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for sys/param.h
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sys/mount.h
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sys/statvfs.h
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for crypt.h
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for epoll
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for EPOLLRDHUP
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for O_PATH
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sendfile()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sendfile64()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sys/prctl.h
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for prctl(PR_SET_DUMPABLE)
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sched_setaffinity()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for crypt_r()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sys/vfs.h
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for poll()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for /dev/poll
|
||||
|
||||
objs/autotest.c:4:25: fatal error: sys/devpoll.h: No such file or directory
|
||||
compilation terminated.
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/devpoll.h>
|
||||
|
||||
int main() {
|
||||
int n, dp; struct dvpoll dvp;
|
||||
dp = 0;
|
||||
dvp.dp_fds = NULL;
|
||||
dvp.dp_nfds = 0;
|
||||
dvp.dp_timeout = 0;
|
||||
n = ioctl(dp, DP_POLL, &dvp);
|
||||
if (n == -1) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for kqueue
|
||||
|
||||
objs/autotest.c:4:23: fatal error: sys/event.h: No such file or directory
|
||||
compilation terminated.
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/event.h>
|
||||
|
||||
int main() {
|
||||
int kq; kq = kqueue();
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for crypt()
|
||||
|
||||
/tmp/ccBjPW1g.o: In function `main':
|
||||
autotest.c:(.text+0xf): undefined reference to `crypt'
|
||||
collect2: error: ld returned 1 exit status
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
|
||||
|
||||
int main() {
|
||||
crypt("test", "salt");;
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for crypt() in libcrypt
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for F_READAHEAD
|
||||
|
||||
objs/autotest.c: In function 'main':
|
||||
objs/autotest.c:7:14: error: 'F_READAHEAD' undeclared (first use in this function)
|
||||
fcntl(0, F_READAHEAD, 1);;
|
||||
^
|
||||
objs/autotest.c:7:14: note: each undeclared identifier is reported only once for each function it appears in
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
int main() {
|
||||
fcntl(0, F_READAHEAD, 1);;
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for posix_fadvise()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for O_DIRECT
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for F_NOCACHE
|
||||
|
||||
objs/autotest.c: In function 'main':
|
||||
objs/autotest.c:7:14: error: 'F_NOCACHE' undeclared (first use in this function)
|
||||
fcntl(0, F_NOCACHE, 1);;
|
||||
^
|
||||
objs/autotest.c:7:14: note: each undeclared identifier is reported only once for each function it appears in
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
int main() {
|
||||
fcntl(0, F_NOCACHE, 1);;
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for directio()
|
||||
|
||||
objs/autotest.c: In function 'main':
|
||||
objs/autotest.c:8:5: warning: implicit declaration of function 'directio' [-Wimplicit-function-declaration]
|
||||
directio(0, DIRECTIO_ON);;
|
||||
^
|
||||
objs/autotest.c:8:17: error: 'DIRECTIO_ON' undeclared (first use in this function)
|
||||
directio(0, DIRECTIO_ON);;
|
||||
^
|
||||
objs/autotest.c:8:17: note: each undeclared identifier is reported only once for each function it appears in
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/fcntl.h>
|
||||
|
||||
int main() {
|
||||
directio(0, DIRECTIO_ON);;
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for statfs()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for statvfs()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for dlopen()
|
||||
|
||||
/tmp/ccRfQzDW.o: In function `main':
|
||||
autotest.c:(.text+0xf): undefined reference to `dlopen'
|
||||
collect2: error: ld returned 1 exit status
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
int main() {
|
||||
dlopen(NULL, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for dlopen() in libdl
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sched_yield()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for SO_SETFIB
|
||||
|
||||
objs/autotest.c: In function 'main':
|
||||
objs/autotest.c:7:31: error: 'SO_SETFIB' undeclared (first use in this function)
|
||||
setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 4);
|
||||
^
|
||||
objs/autotest.c:7:31: note: each undeclared identifier is reported only once for each function it appears in
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
int main() {
|
||||
setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 4);
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for SO_ACCEPTFILTER
|
||||
|
||||
objs/autotest.c: In function 'main':
|
||||
objs/autotest.c:7:31: error: 'SO_ACCEPTFILTER' undeclared (first use in this function)
|
||||
setsockopt(0, SOL_SOCKET, SO_ACCEPTFILTER, NULL, 0);
|
||||
^
|
||||
objs/autotest.c:7:31: note: each undeclared identifier is reported only once for each function it appears in
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
int main() {
|
||||
setsockopt(0, SOL_SOCKET, SO_ACCEPTFILTER, NULL, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for TCP_DEFER_ACCEPT
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for TCP_KEEPIDLE
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for TCP_FASTOPEN
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for TCP_INFO
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for accept4()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for eventfd()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for int size
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for long size
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for long long size
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for void * size
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for uint64_t
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sig_atomic_t
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sig_atomic_t size
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for socklen_t
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for in_addr_t
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for in_port_t
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for rlim_t
|
||||
|
||||
|
||||
checking for uintptr_t
|
||||
|
||||
checking for system byte ordering
|
||||
|
||||
----------------------------------------
|
||||
checking for size_t size
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for off_t size
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for time_t size
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for setproctitle()
|
||||
|
||||
objs/autotest.c: In function 'main':
|
||||
objs/autotest.c:7:5: warning: implicit declaration of function 'setproctitle' [-Wimplicit-function-declaration]
|
||||
setproctitle("test");;
|
||||
^
|
||||
/tmp/ccjBplGI.o: In function `main':
|
||||
autotest.c:(.text+0xf): undefined reference to `setproctitle'
|
||||
collect2: error: ld returned 1 exit status
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main() {
|
||||
setproctitle("test");;
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for pread()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for pwrite()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sys_nerr
|
||||
|
||||
/tmp/ccWsrzXf.o: In function `main':
|
||||
autotest.c:(.text+0x6): warning: `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead
|
||||
135
|
||||
----------------------------------------
|
||||
checking for localtime_r()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for posix_memalign()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for memalign()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for mmap(MAP_ANON|MAP_SHARED)
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for mmap("/dev/zero", MAP_SHARED)
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for System V shared memory
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for POSIX semaphores
|
||||
|
||||
/tmp/cc19ydxX.o: In function `main':
|
||||
autotest.c:(.text+0x29): undefined reference to `sem_init'
|
||||
autotest.c:(.text+0x41): undefined reference to `sem_destroy'
|
||||
collect2: error: ld returned 1 exit status
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <semaphore.h>
|
||||
|
||||
int main() {
|
||||
sem_t sem;
|
||||
if (sem_init(&sem, 1, 0) == -1) return 1;
|
||||
sem_destroy(&sem);;
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for POSIX semaphores in libpthread
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for struct msghdr.msg_control
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for ioctl(FIONBIO)
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for struct tm.tm_gmtoff
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for struct dirent.d_namlen
|
||||
|
||||
objs/autotest.c: In function 'main':
|
||||
objs/autotest.c:8:28: error: 'struct dirent' has no member named 'd_namlen'
|
||||
struct dirent dir; dir.d_namlen = 0;
|
||||
^
|
||||
objs/autotest.c:9:41: error: 'struct dirent' has no member named 'd_namlen'
|
||||
printf("%d", (int) dir.d_namlen);
|
||||
^
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <dirent.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
struct dirent dir; dir.d_namlen = 0;
|
||||
printf("%d", (int) dir.d_namlen);
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for struct dirent.d_type
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sysconf(_SC_NPROCESSORS_ONLN)
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for openat(), fstatat()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for getaddrinfo()
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for PCRE library
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for PCRE JIT support
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for md5 in system md library
|
||||
|
||||
objs/autotest.c:4:17: fatal error: md5.h: No such file or directory
|
||||
compilation terminated.
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <md5.h>
|
||||
|
||||
int main() {
|
||||
MD5_CTX md5; MD5Init(&md5);
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -lmd
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for md5 in system md5 library
|
||||
|
||||
objs/autotest.c:4:17: fatal error: md5.h: No such file or directory
|
||||
compilation terminated.
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <md5.h>
|
||||
|
||||
int main() {
|
||||
MD5_CTX md5; MD5Init(&md5);
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -lmd5
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for md5 in system OpenSSL crypto library
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for sha1 in system md library
|
||||
|
||||
objs/autotest.c:4:17: fatal error: sha.h: No such file or directory
|
||||
compilation terminated.
|
||||
----------
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <sha.h>
|
||||
|
||||
int main() {
|
||||
SHA_CTX sha1; SHA1_Init(&sha1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
----------
|
||||
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -lmd
|
||||
----------
|
||||
|
||||
----------------------------------------
|
||||
checking for sha1 in system OpenSSL crypto library
|
||||
|
||||
|
||||
----------------------------------------
|
||||
checking for zlib library
|
||||
|
||||
Executable
BIN
Binary file not shown.
@@ -0,0 +1,202 @@
|
||||
.\"
|
||||
.\" Copyright (C) 2010 Sergey A. Osokin
|
||||
.\" Copyright (C) Nginx, Inc.
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\"
|
||||
.Dd March 6, 2012
|
||||
.Dt NGINX 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm nginx
|
||||
.Nd "HTTP and reverse proxy server, mail proxy server"
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl ?hqtVv
|
||||
.Op Fl c Ar file
|
||||
.Op Fl g Ar directives
|
||||
.Op Fl p Ar prefix
|
||||
.Op Fl s Ar signal
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
(pronounced
|
||||
.Dq engine x )
|
||||
is an HTTP and reverse proxy server, as well as a mail proxy server.
|
||||
It is known for its high performance, stability, rich feature set, simple
|
||||
configuration, and low resource consumption.
|
||||
.Pp
|
||||
The options are as follows:
|
||||
.Bl -tag -width ".Fl d Ar directives"
|
||||
.It Fl ?\& , h
|
||||
Print help.
|
||||
.It Fl c Ar file
|
||||
Use an alternative configuration
|
||||
.Ar file .
|
||||
.It Fl g Ar directives
|
||||
Set global configuration directives.
|
||||
See
|
||||
.Sx EXAMPLES
|
||||
for details.
|
||||
.It Fl p Ar prefix
|
||||
Set the prefix path.
|
||||
The default value is
|
||||
.Pa /usr/local/nginx .
|
||||
.It Fl q
|
||||
Suppress non-error messages during configuration testing.
|
||||
.It Fl s Ar signal
|
||||
Send a signal to the master process.
|
||||
The argument
|
||||
.Ar signal
|
||||
can be one of:
|
||||
.Cm stop , quit , reopen , reload .
|
||||
The following table shows the corresponding system signals:
|
||||
.Pp
|
||||
.Bl -tag -width ".Cm reopen" -compact
|
||||
.It Cm stop
|
||||
.Dv SIGTERM
|
||||
.It Cm quit
|
||||
.Dv SIGQUIT
|
||||
.It Cm reopen
|
||||
.Dv SIGUSR1
|
||||
.It Cm reload
|
||||
.Dv SIGHUP
|
||||
.El
|
||||
.It Fl t
|
||||
Do not run, just test the configuration file.
|
||||
.Nm
|
||||
checks the configuration file syntax and then tries to open files
|
||||
referenced in the configuration file.
|
||||
.It Fl V
|
||||
Print the
|
||||
.Nm
|
||||
version, compiler version, and
|
||||
.Pa configure
|
||||
script parameters.
|
||||
.It Fl v
|
||||
Print the
|
||||
.Nm
|
||||
version.
|
||||
.El
|
||||
.Sh SIGNALS
|
||||
The master process of
|
||||
.Nm
|
||||
can handle the following signals:
|
||||
.Pp
|
||||
.Bl -tag -width ".Dv SIGINT , SIGTERM" -compact
|
||||
.It Dv SIGINT , SIGTERM
|
||||
Shut down quickly.
|
||||
.It Dv SIGHUP
|
||||
Reload configuration, start the new worker process with a new
|
||||
configuration, and gracefully shut down old worker processes.
|
||||
.It Dv SIGQUIT
|
||||
Shut down gracefully.
|
||||
.It Dv SIGUSR1
|
||||
Reopen log files.
|
||||
.It Dv SIGUSR2
|
||||
Upgrade the
|
||||
.Nm
|
||||
executable on the fly.
|
||||
.It Dv SIGWINCH
|
||||
Shut down worker processes gracefully.
|
||||
.El
|
||||
.Pp
|
||||
While there is no need to explicitly control worker processes normally,
|
||||
they support some signals too:
|
||||
.Pp
|
||||
.Bl -tag -width ".Dv SIGINT , SIGTERM" -compact
|
||||
.It Dv SIGTERM
|
||||
Shut down quickly.
|
||||
.It Dv SIGQUIT
|
||||
Shut down gracefully.
|
||||
.It Dv SIGUSR1
|
||||
Reopen log files.
|
||||
.El
|
||||
.Sh DEBUGGING LOG
|
||||
To enable a debugging log, reconfigure
|
||||
.Nm
|
||||
to build with debugging:
|
||||
.Pp
|
||||
.Dl "./configure --with-debug ..."
|
||||
.Pp
|
||||
and then set the
|
||||
.Cm debug
|
||||
level of the
|
||||
.Va error_log :
|
||||
.Pp
|
||||
.Dl "error_log /path/to/log debug;"
|
||||
.Pp
|
||||
It is also possible to enable the debugging for a particular IP address:
|
||||
.Bd -literal -offset indent
|
||||
events {
|
||||
debug_connection 127.0.0.1;
|
||||
}
|
||||
.Ed
|
||||
.Sh ENVIRONMENT
|
||||
The
|
||||
.Ev NGINX
|
||||
environment variable is used internally by
|
||||
.Nm
|
||||
and should not be set directly by the user.
|
||||
.Sh FILES
|
||||
.Bl -tag -width indent
|
||||
.It Pa /usr/local/nginx/logs/nginx.pid
|
||||
Contains the process ID of
|
||||
.Nm .
|
||||
The contents of this file are not sensitive, so it can be world-readable.
|
||||
.It Pa /usr/local/nginx/conf/nginx.conf
|
||||
The main configuration file.
|
||||
.It Pa /usr/local/nginx/logs/error.log
|
||||
Error log file.
|
||||
.El
|
||||
.Sh EXIT STATUS
|
||||
Exit status is 0 on success, or 1 if the command fails.
|
||||
.Sh EXAMPLES
|
||||
Test configuration file
|
||||
.Pa ~/mynginx.conf
|
||||
with global directives for PID and quantity of worker processes:
|
||||
.Bd -literal -offset indent
|
||||
nginx -t -c ~/mynginx.conf \e
|
||||
-g "pid /var/run/mynginx.pid; worker_processes 2;"
|
||||
.Ed
|
||||
.Sh SEE ALSO
|
||||
.\"Xr nginx.conf 5
|
||||
.\"Pp
|
||||
Documentation at
|
||||
.Pa http://nginx.org/en/docs/ .
|
||||
.Pp
|
||||
For questions and technical support, please refer to
|
||||
.Pa http://nginx.org/en/support.html .
|
||||
.Sh HISTORY
|
||||
Development of
|
||||
.Nm
|
||||
started in 2002, with the first public release on October 4, 2004.
|
||||
.Sh AUTHORS
|
||||
.An -nosplit
|
||||
.An Igor Sysoev Aq igor@sysoev.ru .
|
||||
.Pp
|
||||
This manual page was originally written by
|
||||
.An Sergey A. Osokin Aq osa@FreeBSD.org.ru
|
||||
as a result of compiling many
|
||||
.Nm
|
||||
documents from all over the world.
|
||||
@@ -0,0 +1,439 @@
|
||||
#define NGX_CONFIGURE ""
|
||||
|
||||
#ifndef NGX_COMPILER
|
||||
#define NGX_COMPILER "gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) "
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_GCC_ATOMIC
|
||||
#define NGX_HAVE_GCC_ATOMIC 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_C99_VARIADIC_MACROS
|
||||
#define NGX_HAVE_C99_VARIADIC_MACROS 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_GCC_VARIADIC_MACROS
|
||||
#define NGX_HAVE_GCC_VARIADIC_MACROS 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_EPOLL
|
||||
#define NGX_HAVE_EPOLL 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_CLEAR_EVENT
|
||||
#define NGX_HAVE_CLEAR_EVENT 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_EPOLLRDHUP
|
||||
#define NGX_HAVE_EPOLLRDHUP 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_O_PATH
|
||||
#define NGX_HAVE_O_PATH 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SENDFILE
|
||||
#define NGX_HAVE_SENDFILE 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SENDFILE64
|
||||
#define NGX_HAVE_SENDFILE64 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_PR_SET_DUMPABLE
|
||||
#define NGX_HAVE_PR_SET_DUMPABLE 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SCHED_SETAFFINITY
|
||||
#define NGX_HAVE_SCHED_SETAFFINITY 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_GNU_CRYPT_R
|
||||
#define NGX_HAVE_GNU_CRYPT_R 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_NONALIGNED
|
||||
#define NGX_HAVE_NONALIGNED 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_CPU_CACHE_LINE
|
||||
#define NGX_CPU_CACHE_LINE 64
|
||||
#endif
|
||||
|
||||
|
||||
#define NGX_KQUEUE_UDATA_T (void *)
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_POSIX_FADVISE
|
||||
#define NGX_HAVE_POSIX_FADVISE 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_O_DIRECT
|
||||
#define NGX_HAVE_O_DIRECT 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_ALIGNED_DIRECTIO
|
||||
#define NGX_HAVE_ALIGNED_DIRECTIO 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_STATFS
|
||||
#define NGX_HAVE_STATFS 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_STATVFS
|
||||
#define NGX_HAVE_STATVFS 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SCHED_YIELD
|
||||
#define NGX_HAVE_SCHED_YIELD 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_DEFERRED_ACCEPT
|
||||
#define NGX_HAVE_DEFERRED_ACCEPT 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_KEEPALIVE_TUNABLE
|
||||
#define NGX_HAVE_KEEPALIVE_TUNABLE 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_TCP_FASTOPEN
|
||||
#define NGX_HAVE_TCP_FASTOPEN 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_TCP_INFO
|
||||
#define NGX_HAVE_TCP_INFO 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_ACCEPT4
|
||||
#define NGX_HAVE_ACCEPT4 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_EVENTFD
|
||||
#define NGX_HAVE_EVENTFD 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SYS_EVENTFD_H
|
||||
#define NGX_HAVE_SYS_EVENTFD_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_UNIX_DOMAIN
|
||||
#define NGX_HAVE_UNIX_DOMAIN 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_PTR_SIZE
|
||||
#define NGX_PTR_SIZE 8
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_SIG_ATOMIC_T_SIZE
|
||||
#define NGX_SIG_ATOMIC_T_SIZE 4
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_LITTLE_ENDIAN
|
||||
#define NGX_HAVE_LITTLE_ENDIAN 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_MAX_SIZE_T_VALUE
|
||||
#define NGX_MAX_SIZE_T_VALUE 9223372036854775807LL
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_SIZE_T_LEN
|
||||
#define NGX_SIZE_T_LEN (sizeof("-9223372036854775808") - 1)
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_MAX_OFF_T_VALUE
|
||||
#define NGX_MAX_OFF_T_VALUE 9223372036854775807LL
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_OFF_T_LEN
|
||||
#define NGX_OFF_T_LEN (sizeof("-9223372036854775808") - 1)
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_TIME_T_SIZE
|
||||
#define NGX_TIME_T_SIZE 8
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_TIME_T_LEN
|
||||
#define NGX_TIME_T_LEN (sizeof("-9223372036854775808") - 1)
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_MAX_TIME_T_VALUE
|
||||
#define NGX_MAX_TIME_T_VALUE 9223372036854775807LL
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_PREAD
|
||||
#define NGX_HAVE_PREAD 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_PWRITE
|
||||
#define NGX_HAVE_PWRITE 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_SYS_NERR
|
||||
#define NGX_SYS_NERR 135
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_LOCALTIME_R
|
||||
#define NGX_HAVE_LOCALTIME_R 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_POSIX_MEMALIGN
|
||||
#define NGX_HAVE_POSIX_MEMALIGN 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_MEMALIGN
|
||||
#define NGX_HAVE_MEMALIGN 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_MAP_ANON
|
||||
#define NGX_HAVE_MAP_ANON 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_MAP_DEVZERO
|
||||
#define NGX_HAVE_MAP_DEVZERO 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SYSVSHM
|
||||
#define NGX_HAVE_SYSVSHM 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_POSIX_SEM
|
||||
#define NGX_HAVE_POSIX_SEM 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_MSGHDR_MSG_CONTROL
|
||||
#define NGX_HAVE_MSGHDR_MSG_CONTROL 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_FIONBIO
|
||||
#define NGX_HAVE_FIONBIO 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_GMTOFF
|
||||
#define NGX_HAVE_GMTOFF 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_D_TYPE
|
||||
#define NGX_HAVE_D_TYPE 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SC_NPROCESSORS_ONLN
|
||||
#define NGX_HAVE_SC_NPROCESSORS_ONLN 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_OPENAT
|
||||
#define NGX_HAVE_OPENAT 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_GETADDRINFO
|
||||
#define NGX_HAVE_GETADDRINFO 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_CACHE
|
||||
#define NGX_HTTP_CACHE 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_GZIP
|
||||
#define NGX_HTTP_GZIP 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_SSI
|
||||
#define NGX_HTTP_SSI 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_CRYPT
|
||||
#define NGX_CRYPT 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_X_FORWARDED_FOR
|
||||
#define NGX_HTTP_X_FORWARDED_FOR 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_X_FORWARDED_FOR
|
||||
#define NGX_HTTP_X_FORWARDED_FOR 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_PCRE
|
||||
#define NGX_PCRE 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_PCRE_JIT
|
||||
#define NGX_HAVE_PCRE_JIT 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_OPENSSL_MD5
|
||||
#define NGX_OPENSSL_MD5 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_OPENSSL_MD5_H
|
||||
#define NGX_HAVE_OPENSSL_MD5_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_MD5
|
||||
#define NGX_HAVE_MD5 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SHA1
|
||||
#define NGX_HAVE_SHA1 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_OPENSSL_SHA1_H
|
||||
#define NGX_HAVE_OPENSSL_SHA1_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_ZLIB
|
||||
#define NGX_ZLIB 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_PREFIX
|
||||
#define NGX_PREFIX "/usr/local/nginx/"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_CONF_PREFIX
|
||||
#define NGX_CONF_PREFIX "conf/"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_SBIN_PATH
|
||||
#define NGX_SBIN_PATH ""
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_CONF_PATH
|
||||
#define NGX_CONF_PATH "conf/nginx.conf"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_PID_PATH
|
||||
#define NGX_PID_PATH "logs/nginx.pid"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_LOCK_PATH
|
||||
#define NGX_LOCK_PATH "logs/nginx.lock"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_ERROR_LOG_PATH
|
||||
#define NGX_ERROR_LOG_PATH "logs/error.log"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_LOG_PATH
|
||||
#define NGX_HTTP_LOG_PATH "logs/access.log"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_CLIENT_TEMP_PATH
|
||||
#define NGX_HTTP_CLIENT_TEMP_PATH "client_body_temp"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_PROXY_TEMP_PATH
|
||||
#define NGX_HTTP_PROXY_TEMP_PATH "proxy_temp"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_FASTCGI_TEMP_PATH
|
||||
#define NGX_HTTP_FASTCGI_TEMP_PATH "fastcgi_temp"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_UWSGI_TEMP_PATH
|
||||
#define NGX_HTTP_UWSGI_TEMP_PATH "uwsgi_temp"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HTTP_SCGI_TEMP_PATH
|
||||
#define NGX_HTTP_SCGI_TEMP_PATH "scgi_temp"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_SUPPRESS_WARN
|
||||
#define NGX_SUPPRESS_WARN 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_SMP
|
||||
#define NGX_SMP 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_USER
|
||||
#define NGX_USER "nobody"
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_GROUP
|
||||
#define NGX_GROUP "nogroup"
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_UNISTD_H
|
||||
#define NGX_HAVE_UNISTD_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_INTTYPES_H
|
||||
#define NGX_HAVE_INTTYPES_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_LIMITS_H
|
||||
#define NGX_HAVE_LIMITS_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SYS_PARAM_H
|
||||
#define NGX_HAVE_SYS_PARAM_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SYS_MOUNT_H
|
||||
#define NGX_HAVE_SYS_MOUNT_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SYS_STATVFS_H
|
||||
#define NGX_HAVE_SYS_STATVFS_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_CRYPT_H
|
||||
#define NGX_HAVE_CRYPT_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_LINUX
|
||||
#define NGX_LINUX 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SYS_PRCTL_H
|
||||
#define NGX_HAVE_SYS_PRCTL_H 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NGX_HAVE_SYS_VFS_H
|
||||
#define NGX_HAVE_SYS_VFS_H 1
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
|
||||
#include <ngx_config.h>
|
||||
#include <ngx_core.h>
|
||||
|
||||
|
||||
|
||||
extern ngx_module_t ngx_core_module;
|
||||
extern ngx_module_t ngx_errlog_module;
|
||||
extern ngx_module_t ngx_conf_module;
|
||||
extern ngx_module_t ngx_events_module;
|
||||
extern ngx_module_t ngx_event_core_module;
|
||||
extern ngx_module_t ngx_epoll_module;
|
||||
extern ngx_module_t ngx_regex_module;
|
||||
extern ngx_module_t ngx_http_module;
|
||||
extern ngx_module_t ngx_http_core_module;
|
||||
extern ngx_module_t ngx_http_log_module;
|
||||
extern ngx_module_t ngx_http_upstream_module;
|
||||
extern ngx_module_t ngx_http_static_module;
|
||||
extern ngx_module_t ngx_http_autoindex_module;
|
||||
extern ngx_module_t ngx_http_index_module;
|
||||
extern ngx_module_t ngx_http_auth_basic_module;
|
||||
extern ngx_module_t ngx_http_access_module;
|
||||
extern ngx_module_t ngx_http_limit_conn_module;
|
||||
extern ngx_module_t ngx_http_limit_req_module;
|
||||
extern ngx_module_t ngx_http_geo_module;
|
||||
extern ngx_module_t ngx_http_map_module;
|
||||
extern ngx_module_t ngx_http_split_clients_module;
|
||||
extern ngx_module_t ngx_http_referer_module;
|
||||
extern ngx_module_t ngx_http_rewrite_module;
|
||||
extern ngx_module_t ngx_http_proxy_module;
|
||||
extern ngx_module_t ngx_http_fastcgi_module;
|
||||
extern ngx_module_t ngx_http_uwsgi_module;
|
||||
extern ngx_module_t ngx_http_scgi_module;
|
||||
extern ngx_module_t ngx_http_memcached_module;
|
||||
extern ngx_module_t ngx_http_empty_gif_module;
|
||||
extern ngx_module_t ngx_http_browser_module;
|
||||
extern ngx_module_t ngx_http_upstream_hash_module;
|
||||
extern ngx_module_t ngx_http_upstream_ip_hash_module;
|
||||
extern ngx_module_t ngx_http_upstream_least_conn_module;
|
||||
extern ngx_module_t ngx_http_upstream_keepalive_module;
|
||||
extern ngx_module_t ngx_http_write_filter_module;
|
||||
extern ngx_module_t ngx_http_header_filter_module;
|
||||
extern ngx_module_t ngx_http_chunked_filter_module;
|
||||
extern ngx_module_t ngx_http_range_header_filter_module;
|
||||
extern ngx_module_t ngx_http_gzip_filter_module;
|
||||
extern ngx_module_t ngx_http_postpone_filter_module;
|
||||
extern ngx_module_t ngx_http_ssi_filter_module;
|
||||
extern ngx_module_t ngx_http_charset_filter_module;
|
||||
extern ngx_module_t ngx_http_userid_filter_module;
|
||||
extern ngx_module_t ngx_http_headers_filter_module;
|
||||
extern ngx_module_t ngx_http_copy_filter_module;
|
||||
extern ngx_module_t ngx_http_range_body_filter_module;
|
||||
extern ngx_module_t ngx_http_not_modified_filter_module;
|
||||
|
||||
ngx_module_t *ngx_modules[] = {
|
||||
&ngx_core_module,
|
||||
&ngx_errlog_module,
|
||||
&ngx_conf_module,
|
||||
&ngx_events_module,
|
||||
&ngx_event_core_module,
|
||||
&ngx_epoll_module,
|
||||
&ngx_regex_module,
|
||||
&ngx_http_module,
|
||||
&ngx_http_core_module,
|
||||
&ngx_http_log_module,
|
||||
&ngx_http_upstream_module,
|
||||
&ngx_http_static_module,
|
||||
&ngx_http_autoindex_module,
|
||||
&ngx_http_index_module,
|
||||
&ngx_http_auth_basic_module,
|
||||
&ngx_http_access_module,
|
||||
&ngx_http_limit_conn_module,
|
||||
&ngx_http_limit_req_module,
|
||||
&ngx_http_geo_module,
|
||||
&ngx_http_map_module,
|
||||
&ngx_http_split_clients_module,
|
||||
&ngx_http_referer_module,
|
||||
&ngx_http_rewrite_module,
|
||||
&ngx_http_proxy_module,
|
||||
&ngx_http_fastcgi_module,
|
||||
&ngx_http_uwsgi_module,
|
||||
&ngx_http_scgi_module,
|
||||
&ngx_http_memcached_module,
|
||||
&ngx_http_empty_gif_module,
|
||||
&ngx_http_browser_module,
|
||||
&ngx_http_upstream_hash_module,
|
||||
&ngx_http_upstream_ip_hash_module,
|
||||
&ngx_http_upstream_least_conn_module,
|
||||
&ngx_http_upstream_keepalive_module,
|
||||
&ngx_http_write_filter_module,
|
||||
&ngx_http_header_filter_module,
|
||||
&ngx_http_chunked_filter_module,
|
||||
&ngx_http_range_header_filter_module,
|
||||
&ngx_http_gzip_filter_module,
|
||||
&ngx_http_postpone_filter_module,
|
||||
&ngx_http_ssi_filter_module,
|
||||
&ngx_http_charset_filter_module,
|
||||
&ngx_http_userid_filter_module,
|
||||
&ngx_http_headers_filter_module,
|
||||
&ngx_http_copy_filter_module,
|
||||
&ngx_http_range_body_filter_module,
|
||||
&ngx_http_not_modified_filter_module,
|
||||
NULL
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user