Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails部署在两台服务器上,且资源同步:第二台服务器上的资源不可用_Ruby On Rails_Deployment_Capistrano_Asset Pipeline - Fatal编程技术网

Ruby on rails Rails部署在两台服务器上,且资源同步:第二台服务器上的资源不可用

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

我正试图在两台不同的服务器上部署一个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/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中的所有资产,那么在这两台服务器上运行资产编译不是一种浪费吗?