How can i add a second drive to nginx server?

September 16, 2016 645 views
Nginx Server Optimization Ubuntu

I have a server having two drives each of 2TB. First drive is mounted to "root" (which is called "/") and the second drive is mounted to /mnt/disk1. I am serving my files from first hard drive at location /usr/share/nginx/html/downloads/ with this default configuration below:

root /usr/share/nginx/html; <---------------default served file location
index index.html index.htm;
server_name localhost;

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

}

}

My files can be downloaded at http://ip_address/downloads/softwares/example.exe

Now my first 2TB hard drive is filled and i dont have budget to buy another server. But i have another 2TB of hard drive having all of its 2TBfree space mounted at /mnt/disk1.

Can you please tell me how can i tell nginx to include that 2TB drive so that i can put and serve files from this 2TB drive at location /mnt/disk1

ubuntu nginx web-server ubuntu-14.04

2 Answers
xMudrii September 17, 2016
Accepted Answer

Only idea I can get is using another location alongside alias directive for second disk.
With alias directive you can define replacement location for content.

Look at this example config

root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;

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

    location /downloads2 {
        alias /mnt/disk1;
    }
}

With this approach you will have following situation:
If you access via http://ip_address/downloads, you will see only content from first disk /
If you access via http://ip_address/downloads2, you will see only content from second disk /mtn/disk1.

If you can use multiple locations, e.g. downloads and downloads2, this will get your job done. Problem is if you want to serve files from both disk on one location - /. You will have hard time with this.

thnak you so much... It seams that your idea would work. M just going to to id. ;)

Have another answer? Share your knowledge.