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がサーバーへのアセットの2番目のフォルダーを指すようにする方法はありますか?私は次のことを試しました:

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 に答える