Ruby on rails Rails部署在两台服务器上,且资源同步:第二台服务器上的资源不可用
我正试图在两台不同的服务器上部署一个rails 3.2.12应用程序,在一个支持nginx的负载平衡器后面 我正在使用asset_sync将资产部署到S3和Capistrano 部署完成后,第一台服务器上的一切都很好,但在第二台服务器上,我遇到以下错误:Ruby on rails Rails部署在两台服务器上,且资源同步:第二台服务器上的资源不可用,ruby-on-rails,deployment,capistrano,asset-pipeline,Ruby On Rails,Deployment,Capistrano,Asset Pipeline,我正试图在两台不同的服务器上部署一个rails 3.2.12应用程序,在一个支持nginx的负载平衡器后面 我正在使用asset_sync将资产部署到S3和Capistrano 部署完成后,第一台服务器上的一切都很好,但在第二台服务器上,我遇到以下错误: A ActionView::Template::Error occurred in home#index: application.css isn't precompiled actionpack (3.2.12) lib/sproc
A ActionView::Template::Error occurred in home#index:
application.css isn't precompiled
actionpack (3.2.12) lib/sprockets/helpers/rails_helper.rb:142:in `digest_for'
我注意到,在部署期间,deploy:assets:precompile仅在第一台服务器上执行。但这似乎是我所期待的
我遗漏了什么吗?我知道我犯了什么愚蠢的错误。我只列出了web角色中的两个服务器
role :web, "server1"
role :app, "server1", "server2"
当我声明这两个服务器时,它运行良好
role :web, "server1", "server2"
role :app, "server1", "server2"
两台服务器都有public/assets/manifest.yml文件吗?我可以在第一台服务器上找到。第二个,被窃听的一个甚至没有公共/资产目录。谢谢-我也有同样的问题!您还可以设置资产编译任务将在哪些服务器角色上运行,而不是更改哪些服务器具有哪些角色:如果两台服务器都提供S3中的所有资产,那么在这两台服务器上运行资产编译不是一种浪费吗?