Rails 3.1 Implantar na produção (com Apache & Passenger) Problemas de ativos
@Rails 3.1 mudou a maneira como lida com o pipeline de ativos e está causando problemas ao implantar na produçã
Estou usando o Apache e o Passenger, que parecem funcionar be
Minha produção está configurada como esta (por enquanto
# congif/environments/production.rb
config.cache_classes = false
config.consider_all_requests_local = true
config.action_controller.perform_caching = true
config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = false
config.assets.digest = true
config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
Eu corro rake assets: pré-compile no Ubuntu e inicie o servidor. E nada. Nenhuma das minhas imagens é carregada.
A lendária caixa 'Não consigo encontrar uma imagem neste URL'.
Eu corro ativos rake: pré-compile no CentOS e inicie o servidor. E ... erros de permissão.
*Error Compiling CSS Asset*
Errno::EACCESS: Permission Denied - [app path]/tmp/cache/assets/E95
[path to RVM Ruby]/fileutils.rb:243:in 'mkdir'
Não consigo mexer. Qualquer ajuda é muito apreciada. Obrigado
ATUALIZAEsta solução sempre funcionou para mim:
Primeiro limpe seus ativos
rm -rf public/assets
rake assets:clean RAILS_ENV=production
Segundo, em # production.rb change
config.assets.compile = false
par
config.assets.compile = true
erceiro, corra para pré-compilar seus ativ
rake assets:precompile RAILS_ENV=production
Quarto, na # produção.rb de mudança
config.assets.compile = true
de volta
config.assets.compile = false
uinto, reinicie o servidor executando:
touch tmp/restart.txt
m sexto lugar, des-restrinja as permissões em seus ativos recém-criados executando este comando
chmod -R 777 público / ativos
Seventh, comemore !!