Add containerization and make this bad boy work on Windows and MacOS

This commit is contained in:
omer
2024-02-28 19:08:07 -06:00
parent d58a0543eb
commit df7a63e047
557 changed files with 6647 additions and 5493 deletions
+21
View File
@@ -0,0 +1,21 @@
default: build
clean:
rm -rf Makefile objs
build:
$(MAKE) -f objs/Makefile
$(MAKE) -f objs/Makefile manpage
install:
$(MAKE) -f objs/Makefile install
upgrade:
/usr/local/nginx/sbin/nginx -t
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
sleep 1
test -f /usr/local/nginx/logs/nginx.pid.oldbin
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
Regular → Executable
View File
+27 -3
View File
@@ -40,11 +40,35 @@ http {
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
location / {
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_pass 127.0.0.1:9002;
}
location /static/ {
root /app/hm_nginx/../hm_web/;
if (-f $request_filename) {
rewrite ^/static/(.*)$ /static/$1 break;
}
}
#location / {
# root html;
# index index.html index.htm;
#}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
Vendored Regular → Executable
View File
View File
File diff suppressed because it is too large Load Diff
+656
View File
@@ -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
BIN
View File
Binary file not shown.
+202
View File
@@ -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.
+439
View File
@@ -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
+51
View File
@@ -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
+105
View File
@@ -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
};