Nginx错误日志中的消息“X-Accel-Mapping标头丢失”
我在Ubuntu 8.04上使用Nginx 1.0.0和Passenger 3.0.7运行Rails 3站点. 在我的Nginx error.log中,我开始看到消息X-Accel-Mapping标头丢失了很多.谷歌搜索引导我到 现在,我的应用程序可以通过多个域访问,我在我的应用程序中使用send_file来提供特定于它们所请求的域的一些文件,例如,如果你来到domain1.com/favicon.ico我查找了favicon在public / websites / domain1 / favicon.ico. 我怎样才能摆脱错误信息? 此消息表示Rack :: Sendfile已禁用X-Accel-Redirect,因为您在nginx.conf中缺少配置…
我正在使用Nginx Passenger 3 Rails 3.1. 从这个页面收集的信息我已经弄明白了: http://wiki.nginx.org/X-accel http://greenlegos.wordpress.com/2011/09/12/sending-files-with-nginx-x-accel-redirect http://code.google.com/p/substruct/source/browse/trunk/gems/rack-1.1.0/lib/rack/sendfile.rb?r=355 Serving Large Files Through Nginx via Rails 2.3 Using x-sendfile 我有控制器将映射/下载/ 1请求映射到具有自己的目录结构的存储文件,如:storage / 00/00/1,storage / 01 / 0f / 15等.所以我需要通过Rails传递它,但是然后我需要使用send_file方法,它将使用X-Accel-Redirect直接通过nginx将最终文件发送到浏览器. 在代码中我有这个:
我为此示例目的替换了文件名 现在我必须将这些行添加到我的nginx.conf中:
从外部世界看不到路径/存储,它只是内部的. Rack :: Sendfile获取头X-Accel-Mapping,从中提取路径并用/ storage替换/ var / www / shared / storage ….然后它吐出修改后的头:
然后由nginx处理. 我可以看到这个工作正常,因为文件下载速度比以前快100倍,并且日志中没有显示错误. 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python – Django – 部署与Gunicorn,Nginx和主管,Gunic
- nginx没有提供更新的静态文件
- amazon-web-services – 为什么我得到ElasticBeanstalk ::
- ubuntu – Nginx未能启动.无法分配请求的地址?
- 让邮件服务器发出的Email不被认为是垃圾邮件
- node.js – socket.io nginx配置WebSocket握手期间出错:
- Nginx TCP Fast Open Issue
- nginx php curl 访问 不正常
- Nginx URL屏蔽到不同的域
- 在Nginx上安装WordPress-Nginx发送install.php