Easy Control Nginx!



Recently I am trying to learn managing nginx web server. Most probably it is going to take the place of Apache or at least seat beside Apache. The main benefit Nginx is claimed to be low memory footprint.

So far I have configured three VPS with nginx (also mysql & php). But every time I felt uneasy to start and stop the service as it can’t be started or stopped as ordinary service call.

For example:

To start apache/httpd we write:

service httpd start

But to start Nginx we have to write:


[I assume that Nginx is installed in default directory]

Again to stop apache, we write:

service httpd stop

But in case of Nginx:

kill -9 `cat /usr/local/nginx/logs/nginx.pid`


killall -9 nginx

Today I thought to make it a bit easier. So after mining the internet, I have made a small script to take care of start, stop, restart and check the status of Nginx. I am new to shell scripting.

How to implement it?

  1. I expect your Nginx installation is completed successfully and you can start/stop the server using the earlier methods.
  2. Download this file
  3. Store the file in /sbin/ as nginx. So that path of this file will be /sbin/nginx
  4. Chmod it to 744 by calling:
    chmod 744 /sbin/nginx
  5. You are done.

Now to start the server:

nginx start

Stopping the server:

nginx stop

Restarting the server:

nginx restart

Checking Status:

nginx status

Hope you like it :).

So, any suggestion is

  • invarbrass

    There’s an easier way if you’re on debian based systems. You can simply use the script in the /etc/init.d/ folder, i.e.:
    /etc/init.d/nginx stop
    /etc/init.d/nginx start

  • admin

    he he, its also available in RPM based distros. but you know in RPM based distros we are used to use service command for daemons. so made the wrapper for your given stop and start :).