Linux Restart Nginx WebServer Command

last updated in Categories , , , , , ,

How do I restart nginx web server under Linux or Unix operating systems using command line options?

Nginx is a free and open source web server that runs on Linux and Unix-like systems. This page explains various Linux commands to restart the Nginx web server running on Linux operating systems.


Linux Restart Nginx Webserver

To restart the nginx web server use any one of the following command as a root user as per your Linux distro. Open a terminal or login to the remote server using ssh. For instance:
sudo systemctl nginx [command]

Debian/Ubuntu/RHEL/CentOS Linux

Linux restart Nginx webserver, run:
# /etc/init.d/nginx restart
# /etc/init.d/nginx reload
One can use the service command for sysv init based systems:
# service nginx restart
# service nginx reload
If you are using systemd based Linux distro:
$ sudo systemctl restart nginx
$ sudo systemctl reload nginx
To view status:
# service nginx status
$ sudo systemctl status nginx
Sample outputs:

Fig.01: Restarting or reloading Nginx server
Fig.01: Restarting or reloading Nginx server

Using nginx command

Nginx has in built option to send signal to a master process. This should work with any Linux distributions or Unix-like operating systems. The syntax is as follows:
nginx - s signal

Reload Nginx Webserver

# nginx -s reload
# /path/to/full/nginx -s reload

Stop Nginx Webserver

# nginx -s stop
# /path/to/full/nginx -s stop

Exit or Quit Nginx Webserver

# nginx -s quit
# /path/to/full/nginx -s quit

If nginx compiled and installed from the source code

If nginx binary is installed at /usr/local/nginx/sbin/nginx, enter:
# /usr/local/nginx/sbin/nginx -s reload

How to Start, Stop, or Restart Nginx Server

Here is the summary of all commands that you can pass either to the systemctl command OR service command

startStart the Nginx web serversudo systemctl start nginx
sudo service nginx start
stopStop the Nginx on Linuxsudo systemctl stop nginx
sudo service nginx stop
restartStops and then starts the Nginx web server servicesudo systemctl restart nginx
sudo service nginx restart
reloadGracefully restarts the Nginx service after config changessudo systemctl reload nginx
sudo service nginx reload
statusGet the service or server status in Linuxsudo systemctl status nginx
sudo service nginx status

How to check nginx server config errors

You need to pass the -t to the nginx command to test configuration and exit. For example:
nginx -t
Pass the -T to test configuration, dump it on screen and exit, run:
nginx -T
Linux Restart Nginx WebServer

How to send signal to a Nginx

The syntax is as follows for Linux and Unix users:
nginx -s signal
Signal can be stop, quit, reopen and reload. For instance, we can send reload signal as follows as the root user:
# nginx -t
# nginx -s reload

See nginx docs here for more info.


In this tutorial, you learned how to start, stop, and restart the Nginx web server on Linux systems using command line options.


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Start the discussion at

Historical Comment Archive

3 comment

  1. The method used is largely determined by whether NGINX was installed via package manager or compiled from source, correct?

    1. I guess so. If compiled from source use /path/to/nginx -s reload else use service nginx reload or service nginx restart

    Still, have a question? Get help on our forum!