Ruby on rails 3 提供静态文件,apache+;独角兽

Ruby on rails 3 提供静态文件,apache+;独角兽,ruby-on-rails-3,apache,unicorn,Ruby On Rails 3,Apache,Unicorn,我使用的是rails 3.0.7,在生产环境中安装了apache2+unicorn 我的.conf文件如下 <VirtualHost *:80> ServerName something.com # Point this to your public folder of teambox DocumentRoot /pal/public RewriteEngine On <Proxy balancer://unicornservers> BalancerMembe

我使用的是rails 3.0.7,在生产环境中安装了apache2+unicorn

我的
.conf
文件如下

<VirtualHost *:80>
ServerName something.com

# Point this to your public folder of teambox
DocumentRoot /pal/public

RewriteEngine On

<Proxy balancer://unicornservers>
  BalancerMember http://127.0.0.1:5000
</Proxy>

# Redirect all non-static requests to unicorn
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>

ServerName.com
#将此指向您的teambox公用文件夹
DocumentRoot/pal/public
重新启动发动机
平衡员http://127.0.0.1:5000
#将所有非静态请求重定向到unicorn
重写cond%{DOCUMENT\u ROOT}/%{REQUEST\u FILENAME}-F
重写规则^/(.*)$balancer://unicornservers%{REQUEST_URI}[P,QSA,L]
ProxyPass/balancer://unicornservers/
ProxyPassReverse/balancer://unicornservers/
代理主机
命令拒绝,允许
通融

已尝试
RewriteCond%{REQUEST\u FILENAME}-f


但是apache似乎没有为静态请求(公共目录中的文件)提供服务。所有静态请求也都会发送到rails。我缺少什么配置?

我知道这个问题已经过时了,但是。。。 我遇到了完全相同的问题,在任何地方都找不到解决方案。 我偶然发现

删除以下工作

ProxyPass / balancer://unicornservers/
ProxyPassReverse / balancer://unicornservers/
ProxyPreserveHost on

我会把它替换成Apache。它在处理静电方面要好得多。是的,我知道。。但是商人。。!!!没办法,那把nginx放在apache前面怎么样?:-)我也不能那样做。。必须使其仅与apache+unicorn一起工作:(不..面对同样的问题。。