0

我是使用 nginx 设置自己的服务器的新手,所以请原谅任何无知。我可能只是使用了错误的搜索词来找到我的问题的答案。

无论如何,我目前在机架空间的 VPS 上使用 Rails 3、Nginx 和 Unicorn。在我的 Rails 应用程序中,我在 public/ 中有大约 500mb 的文件,我想使用 Nginx 来提供这些文件。通常这只是:

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

如果我将 500mb 公共添加到 git 存储库,然后使用 capistrano 部署,我可以完成这项工作,但我不希望所有这些文件都在我的 git 存储库中。将它们存储在那里没有意义,但是如果我删除它们,那么我每次部署时都必须手动将它们上传到服务器上的公用文件夹。

有没有办法让 Nginx 指向第二个资产文件夹以供服务器使用?我尝试了以下方法:

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

我没有任何运气让它工作(试图通过 url.com/static/... 访问文件)有人知道我做错了什么吗?

旁注:所有显示的代码都在我的 config/nginx.conf 文件中,它应该通过我的 deploy.rb 中的这一行覆盖设置:

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

1 回答 1

3
location /static/ {
    root /home/deployer;
}
于 2012-07-23T06:29:40.767 回答