jir*_*iki 8 apache ruby-on-rails static-files unicorn
我有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
Run Code Online (Sandbox Code Playgroud)
我必须启用serve_static_assets,否则我无法下载任何静态内容.我也有预编译资产,但它没有任何区别,因为除了Rails(Rack猜测)正在进行服务之外,公共目录中没有可用的文件.
我应该使用config.action_controller.asset_host还是我的Apache配置有问题.
小智 19
我有这个问题的帖子(是的,它也发生在我身上),希望它会有所帮助.
关键是要删除ProxyPass / balancer://unicornservers/模式,因为它会覆盖你的模式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,QSA,L]
<Proxy balancer://unicornservers>
BalancerMember http://127.0.0.1:2007
</Proxy>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6566 次 |
| 最近记录: |