Redmineのファイル機能で大きなファイルを扱う際の注意点 - torutkの日記の続編です。
Nginx + UnicornでRedmineを動作させているときの、大きなファイルをアップロードする際の対応です。
Nginxが扱うファイルサイズ上限の設定
まず、アップロードするファイルサイズの上限をNginxの設定に追加する必要があります。デフォルトでは2MBが上限らしいので、以下のように上限サイズを指定します。
client_max_body_size 8192M;
Unicornのタイムアウト設定
Unicorn上で動くRails+RedmineがNginxから渡されたファイルを所定の場所(
Unicornのデフォルトのタイムアウトは60秒ですが、数百MB以上の大きさになるとタイムアウトが発生してしまいます。Ruby on Railsのファイルアップロードの処理は遅いようなので、タイムアウトをいくつにするかは悩ましいところですが、思いっきり長めにしておく必要があります。(とりあえず1200秒あたり)
timeout 1200