我有Rails 3.1,Unicorn和Apache的设置。 我的Apache设置如下,production.rb看起来像这样 。 我喜欢使用h264stream媒体,但由于Rails提供这些video文件,Apache Mod将无法正常工作。
DocumentRoot /blabla/current/public RewriteEngine On Options FollowSymLinks <Proxy balancer://unicornservers> BalancerMember http://127.0.0.1:4000 </Proxy> # Redirect all non-static requests to rails RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,QSA,L] ProxyPass / balancer://unicornservers/ ProxyPassReverse / balancer://unicornservers/ ProxyPreserveHost on <Proxy *> Order deny,allow Allow from all </Proxy> XSendFile On XSendFileAllowAbove on
我必须启用serve_static_assets或我无法下载任何静态的东西。 我也有预编译的资产,但它不会有任何区别,因为没有文件可从公共目录,除非Rails(机架我猜)正在做服务。
我应该使用config.action_controller.asset_host还是有什么问题,我的Apacheconfiguration。
Nginx:无法上传文件> 10MB。 客户打算发送太大的身体
在运行Angular 2快速入门时,在Linux上出错或修复NPM lite-server错误
WebDriverError错误:Chrome无法启动:exception退出
独angular兽与Capistrano重新启动不起作用
kgio /独angular兽失败
使用独angular兽将Rails应用程序部署到Opsworks时出错
在代理后面的rails应用httpsredirect?
无法创build用户postgres:angular色“postgres”不存在
configurationNginx使Angular 2快速启动浏览器同步
量angular器30000msec后超时
我有这个问题的帖子 (是的,这也发生在我身上),希望它会有所帮助。
关键是要删除ProxyPass / balancer://unicornservers/ pattern,因为它会覆盖您的Rewrite Rule
这是我的Apache服务器配置。
<VirtualHost *:80> serverName example.org DocumentRoot /dir/of/your/project RewriteEngine On # Redirect all non-static requests to unicorn RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,L] <Proxy balancer://unicornservers> BalancerMember http://127.0.0.1:2007 </Proxy> </VirtualHost>
只需从您的production.rb代码:
# Specifies the header that your server uses for sending files # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache # config.action_dispatch.x_sendfile_header = 'x-accel-redirect' # for Nginx
尝试用“X-Sendfile”标题取消注释行,重新启动您的Unicorn池并重试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。