なんらかの理由でclient_max_body_size 16M;
をnginx.confファイルに入れても効果がありません - Webサーバーに画像をアップロードしようとすると、まだHTTP 413エラーが表示されます。私は設定ファイルを変更するたびにNginxを再起動しました。場所{}ブロック、サーバ{}ブロック、http {}ブロックにclient_max_body_size
ディレクティブを配置しようとしました。私は同時に3つのすべてを試してみました。Nginxがclient_max_body_sizeを無視しています
これに対する答えを見てみると、誰かが私が持っていないproxy.confのような他の設定ファイルでclient_max_body_size
行を探してみることを勧めました。単に8080
は私が実行して、4.5メガバイトのJPGファイルをアップロードしようとしているnginxのは上の1.0.5虹の束(ユニコーン)ポート上で実行されているとの接続をupstreaming -
私のnginxの設定ファイルは特別なものではありませんUbuntu 11.10。なぜこれがうまくいかないのか?
UPDATE:(?)
一つだ虹の労働者のは、30秒ごとに再起動されます。 rainbows.stderr.logからの出力は次のとおりです。
E, [2012-01-29T17:27:05.977487 #25218] ERROR -- : adding listener failed addr=0.0.0.0:8080 (in use)
E, [2012-01-29T17:27:05.978011 #25218] ERROR -- : retrying in 0.5 seconds (4 tries left)
E, [2012-01-29T17:27:06.478767 #25218] ERROR -- : adding listener failed addr=0.0.0.0:8080 (in use)
E, [2012-01-29T17:27:06.478964 #25218] ERROR -- : retrying in 0.5 seconds (3 tries left)
E, [2012-01-29T17:27:06.979509 #25218] ERROR -- : adding listener failed addr=0.0.0.0:8080 (in use)
E, [2012-01-29T17:27:06.979650 #25218] ERROR -- : retrying in 0.5 seconds (2 tries left)
E, [2012-01-29T17:27:07.480190 #25218] ERROR -- : adding listener failed addr=0.0.0.0:8080 (in use)
E, [2012-01-29T17:27:07.480353 #25218] ERROR -- : retrying in 0.5 seconds (1 tries left)
E, [2012-01-29T17:27:07.980809 #25218] ERROR -- : adding listener failed addr=0.0.0.0:8080 (in use)
E, [2012-01-29T17:27:07.980987 #25218] ERROR -- : retrying in 0.5 seconds (0 tries left)
E, [2012-01-29T17:27:08.481638 #25218] ERROR -- : adding listener failed addr=0.0.0.0:8080 (in use)
/usr/local/forrager/shared/bundle/ruby/1.9.1/gems/unicorn-4.1.1/lib/unicorn/socket_helper.rb:144:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
from /usr/local/forrager/shared/bundle/ruby/1.9.1/gems/unicorn-4.1.1/lib/unicorn/socket_helper.rb:144:in `new'
from /usr/local/forrager/shared/bundle/ruby/1.9.1/gems/unicorn-4.1.1/lib/unicorn/socket_helper.rb:144:in `bind_listen'
from /usr/local/forrager/shared/bundle/ruby/1.9.1/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:222:in `listen'
from /usr/local/forrager/shared/bundle/ruby/1.9.1/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:733:in `block in inherit_listeners!'
from /usr/local/forrager/shared/bundle/ruby/1.9.1/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:733:in `each'
from /usr/local/forrager/shared/bundle/ruby/1.9.1/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:733:in `inherit_listeners!'
from /usr/local/forrager/shared/bundle/ruby/1.9.1/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:121:in `start'
from /usr/local/forrager/shared/bundle/ruby/1.9.1/gems/rainbows-4.3.1/bin/rainbows:122:in `<top (required)>'
from /usr/local/forrager/shared/bundle/ruby/1.9.1/bin/rainbows:19:in `load'
from /usr/local/forrager/shared/bundle/ruby/1.9.1/bin/rainbows:19:in `<main>'
ご回答いただきありがとうございます。/tmpのパーミッションは世界的に書き込み可能な777であり、http {}の下に 'client_max_body_size'しか持たないようにNginxの設定を変更しました。残念ながら、まだ動作していません。アップロード中に/ tmpの 'ls 'を見てもそこに新しいものは何も表示されません。 Unicornが/ tmpにアクセスできるようにするにはどうすればいいですか? – Cameron
あなたはunicorn byitselfに投稿することができます。方程式のnginxを少し取る。 UnicornはHTTPとして自身を提示し、直接アクセスします。 – Lee
うーん!良い提案。私は他の非常に奇妙な問題を見ている。 Chromeデベロッパーツール(Unicornsに直接接続されている)でリクエスト/レスポンスを表示すると、リクエストはすぐに失敗しますが、実際にエラーコードが表示されるわけではありません。ただし、/ add_image要求は失敗したように赤色に変わります。ヘッダー情報のみで表示される空白のエントリと、base-64でエンコードされたPNGファイルのように見えるその他のものがあります(私はjpgをアップロードしています)。非常に奇妙な。他にUnicornの設定がありますか? Sendfileかそれとも何か? – Cameron