NGINX(8)
๐ NGINX โ the manual page, bestie edition ๐
okay so you picked up the NGINX(8) page from the System Manager's Manual and honestly? taste. let's get into it ๐ซถ
โจ NAME โจ
nginx โ your HTTP and reverse proxy server, plus a mail proxy server. yeah she does both. multi-hyphenate queen ๐
โจ SYNOPSIS โจ
nginx [-?hqTtVv] [-c file] [-e file] [-g directives] [-p prefix]
[-s signal]
โจ DESCRIPTION โจ
so, nginx โ pronounced โengine xโ, yes really, that's the whole bit โ is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server. she contains multitudes ๐
and the way she's known?? for high performance, stability, a rich feature set, simple configuration, and low resource consumption. it's giving main character energy with zero drama. iconic, no notes ๐
the options are as follows:
โจ OPTIONS โจ
-?,-hโ print help. she'll tell you what's up ๐-cfile โ use an alternative configuration file. not feeling the default? pick your own โจ-efile โ use an alternative error log file. and ooh, there's a special value:stderr, which means the standard error output gets used instead ๐-gdirectives โ set global configuration directives. peek at โEXAMPLESโ below for the details, i got you ๐ซถ-pprefix โ set the prefix path. the default value is/usr/share/nginx. periodt.-qโ suppress non-error messages during configuration testing. quiet mode, lowkey mysterious ๐คซ-ssignal โ send a signal to the master process. the signal argument can be one of:stop,quit,reopen,reload. here's the matching system signals:stopโSIGTERMquitโSIGQUITreopenโSIGUSR1reloadโSIGHUP
-Tโ same as-t, but additionally dumps configuration files to standard output. she's showing her whole hand, and honestly? obsessed ๐-tโ do not run, just test the configuration file. nginx checks the config file syntax and then tries to open files referenced in the configuration file, including binding to configured listen addresses. no commitment, just vibes check ๐-Vโ print the nginx version, compiler version, and configure script parameters. the full resume ๐-vโ print the nginx version. just the name-drop โจ
โจ SIGNALS โจ
the master process of nginx can handle these signals:
SIGINT,SIGTERMโ shut down quickly. no warning, just gone ๐SIGHUPโ reload configuration, start the new worker process with a new configuration, and gracefully shut down old worker processes. glow-up reload โจSIGQUITโ shut down gracefully. soft launch into the void ๐ฆSIGUSR1โ reopen log files.SIGUSR2โ upgrade the nginx executable on the fly. literally changing mid-air, ate ๐ฅSIGWINCHโ shut down worker processes gracefully.
and look, 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.
โจ DEBUGGING LOG โจ
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's also possible to enable the debugging for a particular IP address:
events {
debug_connection 127.0.0.1;
}
โจ ENVIRONMENT โจ
the NGINX environment variable is used internally by nginx and should not be set directly by the user. hands off, bestie, she handles it herself ๐
โจ FILES โจ
/run/nginx.pidโ contains the process ID of nginx. the contents of this file are not sensitive, so it can be world-readable. she's an open book ๐/etc/nginx/nginx.confโ the main configuration file. the blueprint, the moment โญ/var/log/nginx/error.logโ error log file.
โจ EXIT STATUS โจ
exit status is 0 on success, or 1 if the command fails. that's the whole vibe check ๐ซถ
โจ EXAMPLES โจ
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;"
see how clean that is?? chefs kiss ๐ no cap.
โจ SEE ALSO โจ
documentation at http://nginx.org/en/docs/.
for questions and technical support, please refer to http://nginx.org/en/support.html.
โจ HISTORY โจ
development of nginx started in 2002, with the first public release on October 4, 2004. she's been that girl for literal decades ๐
โจ AUTHORS โจ
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. the way that's such a labor of love ๐ญ๐ซถ
and that's the whole page, bestie!! this one's from the Debian edition, dated January 21, 2026 โ stay iconic, go reload your config, and remember: test with -t before you reload, always ๐โจ๐๐ฆ๐ธ๐
๐โญ๐
๐ฆ where this page comes from
- centos-stream 10: nginx 2:1.26.3-16.el10 ยท BSD-2-Clause
- centos-stream 9: nginx 2:1.26.3-8.module_el9+1337+df4f836a ยท BSD-2-Clause
- fedora 43: nginx 2:1.30.5-1.fc43
- fedora 43: nginx 2:1.30.6-2.fc43 ยท BSD-2-Clause
- fedora 44: nginx 2:1.28.2-1.fc44 ยท BSD-2-Clause
- fedora 44: nginx 2:1.30.5-1.fc44
- fedora 44: nginx 2:1.30.6-2.fc44 ยท BSD-2-Clause
- Copyright (C) 2010, 2019 Sergey A. Osokin
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms