Linux Command Library


HTTP and reverse proxy server, mail proxy server

- Start server with the default config file:

- Start server with a custom config file:
nginx -c [config_file]

- Start server with a prefix for all relative paths in the config file:
nginx -c [config_file] -p [prefix/for/relative/paths]

- Test the configuration without affecting the running server:
nginx -t

- Reload the configuration by sending a signal with no downtime:
nginx -s reload

nginx [-hqtvV?] [-c file] [-g directives] [-p prefix] [-s signal]

The nginx (spelled ''engine x'') is an HTTP and reverse proxy server, as well as a mail proxy server. The nginx 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.

-g directives Set global configuration directives. See EXAMPLES for details.

-p prefix' Set prefix path. Default value is %%PREFIX%%.

-q' Suppress non-error messages during configuration testing.

-s signal' Send 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' Don't run, just test the configuration file. The nginx checks configuration for correct syntax and then tries to open files referred in configuration.

-v' Print nginx version.

-V' Print nginx version, compiler version and configure script parameters.

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, gracefully shut down old worker processes. SIGQUIT' Shut down gracefully. SIGUSR1' Reopen log files. SIGUSR2' Upgrade nginx executable on the fly. SIGWINCH' Shut down gracefully worker processes.

While there's 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 some IP address:

events {


Contains the process ID of the nginx listening for connections. The content of this file is not sensitive; it can be world-readable. %%CONF_PATH%% Main configuration file. %%ERROR_LOG_PATH%% Error log file.

Exit status is 0 on success, or 1 if the command fails.

nginx -t -c ~/mynginx.conf -g "pid /var/run/; worker_processes 2;"
Test configuration file ~/mynginx.conf with global directives for PID and quantity of worker processes.

Documentation at and

For questions and technical support, please refer to

Development of nginx started in 2002, with the first public release on October 4, 2004.

Igor Sysoev <>

This manual page was written by Sergey A. Osokin <> as a result of compilation of many nginx documents all over the world.

BSD August 10, 2011 BSD

play store download app store download
Sonnenallee 29, 12047 Berlin, Germany

Privacy policy
Successfully copied