出于某种原因,将client_max_body_size 16M;
放入我的nginx.conf文件中没有任何影响 - 当我尝试将图像上传到我的web服务器时,仍然收到HTTP 413错误。在每次更改配置文件后,我都重新启动了Nginx,并且我试着将client_max_body_size
指令放在位置{}块,服务器{}块和http {}块中。我甚至同时尝试了这三种。Nginx忽略client_max_body_size
在四处寻找答案时,有人建议在其他配置文件中寻找client_max_body_size
行,如proxy.conf,我没有。
我的Nginx的配置是没有什么特别的 - 只是上游化8080
我想上传一个4.5MB JPG文件,运行Nginx的1.0.5上运行在端口一束彩虹(独角兽)的连接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世界可写的,我将Nginx配置更改为仅在http {}下具有'client_max_body_size'。不幸的是,它仍然无法正常工作。在上传过程中观看/ tmp的'ls'不会显示任何新创建的内容。我还可以检查以确保Unicorn可以访问/ tmp吗? – Cameron 2012-01-29 08:43:40
检查你可以自己发布到独角兽。将nginx从等式中取出一点。 Unicorn将自己呈现为HTTP,因此可以直接访问它。 – Lee 2012-01-29 08:50:09
嗯!好建议。我看到其他很奇怪的问题。在Chrome开发人员工具(直接连接到Unicorns)中查看请求/响应时,请求立即失败,但实际上并未给出错误代码。/add_image请求变成红色,但好像失败了一样。还有一些其他的内容:显示空白条目,只有标题信息,另一个看起来像base64编码的PNG文件(我正在上传一个jpg)。很奇怪。有没有其他的独角兽设置我错过了? Sendfile或类似的东西? – Cameron 2012-01-29 09:04:00