nginx
— HTTP and
reverse proxy server, mail proxy server
nginx |
[-?hqTtVv ] [-c
file] [-e
file] [-g
directives] [-p
prefix] [-s
signal] |
nginx
(pronounced “engine
x”) is an HTTP and reverse proxy server, a mail proxy server, and a
generic TCP/UDP proxy server. It is known for its high performance,
stability, rich feature set, simple configuration, and low resource
consumption.
The options are as follows:
-?
,
-h
- Print help.
-c
file
- Use an alternative configuration file.
-e
file
- Use an alternative error log file. Special value
stderr
indicates that the standard error output
should be used.
-g
directives
- Set global configuration directives. See
EXAMPLES for details.
-p
prefix
- Set the prefix path. The default value is
/usr/local/etc/nginx.
-q
- Suppress non-error messages during configuration testing.
-s
signal
- Send a signal to the master process. The argument
signal can be one of:
stop
,
quit
, reopen
,
reload
. The following table shows the
corresponding system signals:
stop
SIGTERM
quit
SIGQUIT
reopen
SIGUSR1
reload
SIGHUP
-T
- Same as
-t
, but additionally dump configuration
files to standard output.
-t
- Do not run, just test the configuration file.
nginx
checks the configuration file syntax and
then tries to open files referenced in the configuration file.
-V
- Print the
nginx
version, compiler version, and
configure script parameters.
-v
- Print the
nginx
version.
The master process of nginx
can handle the
following signals:
SIGINT
,
SIGTERM
- Shut down quickly.
SIGHUP
- Reload configuration, start the new worker process with a new
configuration, and gracefully shut down old worker processes.
SIGQUIT
- Shut down gracefully.
SIGUSR1
- Reopen log files.
SIGUSR2
- Upgrade the
nginx
executable on the fly.
SIGWINCH
- Shut down worker processes gracefully.
While there is no need to explicitly control worker processes
normally, they support some signals too:
SIGTERM
- Shut down quickly.
SIGQUIT
- Shut down gracefully.
SIGUSR1
- Reopen log files.
To enable a debugging log, reconfigure
nginx
to build with debugging:
./configure --with-debug
...
and then set the debug
level of the
error_log:
error_log /path/to/log
debug;
It is also possible to enable the debugging for a particular IP
address:
events {
debug_connection 127.0.0.1;
}
The NGINX
environment variable is used
internally by nginx
and should not be set directly
by the user.
- /var/run/nginx.pid
- Contains the process ID of
nginx
. The contents of
this file are not sensitive, so it can be world-readable.
- /usr/local/etc/nginx/nginx.conf
- The main configuration file.
- /var/log/nginx/error.log
- Error log file.
Exit status is 0 on success, or 1 if the command fails.
Test configuration file ~/mynginx.conf
with global directives for PID and quantity of worker processes:
nginx -t -c ~/mynginx.conf \
-g "pid /var/run/mynginx.pid; worker_processes 2;"
Documentation at
http://nginx.org/en/docs/.
For questions and technical support, please refer to
http://nginx.org/en/support.html.
Development of nginx
started in 2002, with
the first public release on October 4, 2004.
Igor Sysoev
<igor@sysoev.ru>.
This manual page was originally written by Sergey
A. Osokin
<osa@FreeBSD.org.ru>
as a result of compiling many nginx
documents from
all over the world.