我有 Rails 3.1、Unicorn 和 Apache 设置。我的 Apache 设置如下,production.rb 看起来像这样。我喜欢使用 h264 流,但由于 Rails 提供这些视频文件,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(我猜是 Rack)正在提供服务。
我应该使用 config.action_controller.asset_host 还是我的 Apache 配置有问题。