I have installed nginx on my Ubunut 12.04, I am not able to change the root directory for the nginx,

This is the default nginx configuration file:

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        #root /usr/share/nginx/html;
        root /var/www
        index index.html index.htm;

        server_name localhost;

        location / {
                try_files $uri $uri/ =404;

I tried changing root to /var/www/ but some how it doesn't want to change. I tried restarting the nginx but I am not able to change the root directory.

  • 2
    Use command nginx -t to check for syntax errors.
    – Alexey Ten
    Jun 11, 2014 at 10:44

2 Answers 2


Your configuration is missing the ; at the end of root directive.

Try this:

root /var/www;
  • Wow.. you got me there, that works.. thanks for the quick reply :) getting rid of Apache was hurting me.. thanks a lot
    – shrish
    Jun 11, 2014 at 10:40
  1. Go to /etc/nginx/sites-available.
cd /etc/nginx/sites-available
  1. Open default.
sudo nano default

You will get something like this, opened on your nano editor:
(I have removed the comments for the simplicity of this answer)

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
  1. Edit the line root /var/www/html; to root /your/specified/path;

  2. Save the file & exit.

  3. Restart nginx

sudo systemctl restart nginx

Now, you should be good to go.

Check the server status and see if its is active (without throwing any error):

sudo systemctl status nginx

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.