joncalhoun
joncalhoun

Reputation: 1518

Nginx multiple locations with rails static assets

I am new to setting up my own server with nginx so forgive any ignorance. I may have just been using the wrong search terms to find the answers to my questions.

Anyway, I am using Rails 3, Nginx, and Unicorn at the moment on a VPS on rackspace. In my rails app I have about 500mb of files in public/ and I would like to use Nginx to serve these. Typically this is just:

server {
  listen 80 default deferred;
  # server_name example.com;
  root /home/<my_user>/apps/<my_app>/current/public;
  ...
}

I can make this work if I add the 500mb in public to the git repo and then deploy with capistrano, but I don't want all of those files in my git repo. It makes no sense to store them there, but if I remove them then I have to manually go upload them to my public folder on the server every time I deploy.

Is there a way to make Nginx point to a second folder of assets for it to server? I tried the following:

location /static {
  gzip on;
  alias /home/deployer/static/;
}

I haven't had any luck getting this to work (trying to access the files via url.com/static/...) Anyone know what I am doing wrong?

Side note: all of the shown code is in my config/nginx.conf file and it SHOULD be overriding the settings via this line in my deploy.rb:

sudo "ln -nfs #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application}"

Upvotes: 0

Views: 1305

Answers (1)

VBart
VBart

Reputation: 15130

location /static/ {
    root /home/deployer;
}

Upvotes: 3

Related Questions