Tag: heroku

Gemfile.lock未签入 – Heroku

在尝试“git push heroku master”时,我不断收到错误消息: Counting objects: 266, done. Delta compression using up to 4 threads. Compressing objects: 100% (239/239), done. Writing objects: 100% (266/266), 222.68 KiB, done. Total 266 (delta 55), reused 0 (delta 0) —–> Heroku receiving push —–> Rails app detected —–> Detected Rails is not set to serve static_assets Installing rails3_serve_static_assets… done […]

将redis部署到heroku无法连接

香港专业教育学院一直试图让resoku与heroku合作。 我可以成功地让它在开发模式下工作,但是当我尝试推送到heroku时我得到了 Errno::ECONNREFUSED (Connection refused – Unable to connect to Redis on 127.0.0.1:6379): 然后阅读并关注http://blog.redistogo.com/2010/07/26/resque-with-redis-to-go/ 我把网站上列出的配置但出现以下错误 SocketError (getaddrinfo: nodename nor servname provided, or not known): 我输入了我的初始化器/ resque.rb Resque.after_fork = Proc.new { ActiveRecord::Base.establish_connection } ENV[“redis://redistogo:11111111111111111@lab.redistogo.com:9254/”] ||= “redis://heroku_username:heroku_password@host:9254/” uri = URI.parse(ENV[“redis://redistogo:1111111111111111@lab.redistogo.com:9254/”]) Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password) 但它会抛出上面提到的错误。 在我的开发模式下,我也得到了错误。 我尝试使用我的heroku用户名(我使用heroku中的add),将我的密码输入heroku,并将端口更改为9254.但是我现在一直收到套接字错误。 我究竟做错了什么? 帮助将不胜感激。 谢谢 […]

使用Capistrano在Heroku上部署?

我仍然习惯了Rails开发生态系统。 最近我学会了如何使用capistrano使用apache和passenger来部署到我的服务器,我喜欢如何将一组相当复杂的部署指令放到我的deploy.rb中,以便它们通过单个“cap deploy”调用执行,如果出现任何问题,可以自动回滚。 现在我正在考虑在Heroku上部署我的项目,我希望能够在那里使用capistrano进行部署。 但我一直无法找到有关如何执行此操作的任何文档。 可能吗? 是否有capistrano任务可以让我在Heroku上自动部署? 这甚至有意义吗? 毕竟capistrano以特定的方式工作(ssh进入服务器)并假设一个特定的目录结构(公共/发布/共享等)。 据我所知,Heroku无法实现这两个目标。 但我仍然希望有capistrano的便利。 我知道我可以将部署所需的步骤(git push / migrate / restart resque workers …)放到一个rake任务中,我可以通过调用单个命令来部署; 但我不会受益于capistrano交易和回滚,这在我看来非常重要。 我可能遗漏了一些关于这些技术如何融合在一起的非常基础的东西。 令我感到惊讶的是,我无法在任何地方找到关于这个主题的任何讨论。 谁能分享他们的经历?

有没有办法从heroku提供gzip资产?

我想知道是否有办法让Rails网络服务器(瘦)服务于资产管道创建的* .gz文件。 据我所知,那些压缩级别比Rack::Deflater ,后者只适用于rackup文件中的config.middleware ,而不适用于config.middleware 。 一个不太理想的解决方案可能是更改Zlib的默认压缩级别,这是Rack::Deflater引用的。 它应该只需要gzip一次,然后它去Rack::Cache ,然后希望是CDN。 第二个不太理想的解决方案可能是Rack::Rewrite 。

为应用程序Heroku HTTPS配置SSL

你好我现在正在通过下面的教程将ssl添加到我的heroku应用程序中 https://gist.github.com/shripadk/552554 所以今天我买了一个域名,设置cname指向我的heroku app 目前我的域名正在运行。 我正在尝试将ssl安全function添加到我的应用程序,以便secure.domainname.com工作 按照教程 heroku addons:add custom_domains:basic 我收到了一个错误 add ons not found 我也无法在heroku上找到这个添加内容。 但是我通过stackoverflow搜索了这个命令并假设它存在? 我用这个命令得到了同样的错误 heroku addons:add ssl:hostname 但是它还说没有找到添加,后来我在heroku上发现了这个相同的添加但是它有不同的命令。 这是我没有参与本教程的部分 添加ssl后添加 这将为您的Heroku账单增加每月20美元(截至撰写本文时)的费用。 VI:设置DNS以使用Heroku主机名SSL 您应该在添加ssl:hostname插件后的几分钟内收到来自heroku的电子邮件。 您需要向DNS添加CNAME记录,该记录指向您收到的电子邮件中的AWS主机。 这应该是非常自我解释的,但如果您有任何疑问,请在Google中搜索“添加CNAME记录”,您会看到许多优秀的指南。 测试’host secure.yourdomain.com’输出’something.amazonaws.com’。 如果确实如此,那你就完全了。 您现在应该可以访问“ https://secure.yourdomain.com ”,但不会看到任何错误或安全警告。 幕后工作当用户使用“ http://secure.yourdomain.com ”访问您的网站时,他们会点击您的GoDaddy CNAME记录,该记录指向有效路由的“something.amazonaws.com”地址对Heroku网格的请求,以及遵循标准SSL握手过程的安全连接。 我没有收到电子邮件,appname.herokussl.com也不存在? 我想使用Zerigo DNS吗? 对于任何事情,它在教程的顶部提到过一次而不是其他地方? 通过阅读评论,有人也遇到了问题。 谢谢!

在windows上开发,在heroku上运行独角兽

我有一个新的Rails项目,我决定尝试heroku,部署似乎很容易 我在windows上开发,所以运行独角兽不是一个选择,但webrick可以用于开发 但是,当它部署时,我想使用独角兽,而heroku完全支持这一点 问题是:我必须在我的Gemfile上列出独角兽以便heroku选择它,但当我这样做并在我的windows dev机器上运行bundle命令(或rails s)时,它会尝试安装unicorn服务器 我试图把独角兽放在生产组,组:生产做gem’独角兽’结束仍然捆绑抱怨,我无法运行开发服务器

Heroku上的Puma Cluster配置

我在RoR4 Heroku应用程序上配置Puma(multithreading+多核服务器)需要一些帮助。 Heroku上的文档并不是最新的。 我遵循了这个:配置的并发和数据库连接 ,没有提到集群的配置,所以我不得不同时使用这两种类型(线程和多核)。 我目前的配置: ./Procfile web: bundle exec puma -p $PORT -C config/puma.rb ./config/puma.rb environment production threads 0,16 workers 4 preload_app! on_worker_boot do ActiveRecord::Base.connection_pool.disconnect! ActiveSupport.on_load(:active_record) do config = Rails.application.config.database_configuration[Rails.env] config[‘reaping_frequency’] = ENV[‘DB_REAP_FREQ’] || 10 # seconds config[‘pool’] = ENV[‘DB_POOL’] || 5 ActiveRecord::Base.establish_connection end end 问题: a)我是否需要像Unicorn一样的before_fork / after_fork配置,因为群集工作者是分叉的? b)如何根据我的应用程序调整我的线程数 – 将它放下的原因是什么? /在什么情况下它会有所作为? 是不是已经优化了0:16? […]

如何在生产轨道中给出指纹css路径4

我正在使用imgkit拍摄我的网页快照。 我跑: RAILS_ENV=production bundle exec rake assets:precompile编译预编译我的资产。 app/assets目录的所有文件都编译为public/assets application.css编译为application-7a23a105125768e41d9d24aee4553615.css 。 我的控制器代码是: kit = IMGKit.new(render_to_string(:partial => ‘form’, :height => 200, :transparent => true, :quality => 10, :layout => false,:locals => {:project => @project})) # t = kit.to_img(:png) kit.stylesheets < “screenshot.png”, :type => “image/png”,:disposition => ‘attachment’,:streaming=> ‘true’) 我不知道如何解决/public/assets/application.css未找到错误… 没有这样的文件或目录 – public / assets / application.css 我正在使用https://github.com/csquared/IMGKit/issues/36获取CSS并在我的快照中工作 编辑 […]

Rails资产预编译只是不起作用

我已经将Rails应用程序推送到Heroku并继续遇到以下问题: 我将更改保存到我的主css.scss文件(在资产/样式表中)或资产/图像中的图像,推送到git,将其推送到heroku,然后重新加载页面,只是发现这些资产没有已装满了。 这也是本地服务器上的一个小问题,但输入: rake assets:precompile 并重新加载本地服务器通常工作,而做 heroku run rake assets:precompile 然后重新推动什么也没做。 我已经四处寻找信息并且没有找到任何特别有帮助的东西。 值得注意的是,在我的config / application.rb中 (其中一些是钓鱼的结果): # Enable the asset pipeline config.assets.enabled = true if defined?(Bundler) # If you precompile assets before deploying to production, use this line Bundler.require(*Rails.groups(:assets => %w(development test))) # If you want your assets lazily compiled in production, use this line […]

Rails生成静态文件路由错误

当我在test / dev中本地运行我的应用程序时,我的视图很好地显示出来并且一切都很愉快。 当我尝试导航到我的远程服务器/本地生产服务器上运行的那些相同的erb文件时,我得到如下错误: ActionController::RoutingError (No route matches “/stylesheets/scaffold.css”) 我在这里看过类似的问题,但没有一个能够解决我的问题。 我找到答案的最接近的答案是第一个答案: 样式表或JavaScript文件的Rails 404错误 据我所知,最好的办法是配置我的网络服务器来提供静态文件。 我如何在本地/在Heroku上这样做? 更新 根据raidfive的建议,我将config.serve_static_assets从false更改为true,这解决了我的问题。 但是,我看到它在production.rb中说Apache或nginx应该已经在提供静态资产。 以这种方式提供静态资产是不是更好/更专业?如果是这样,如果我使用Heroku,我将如何达到预期的效果? 更新2 显然Heroku 会自动执行此操作 ,我有一个额外的逗号导致恶作剧。 我能够使用以下提示查看扩展的Heroku日志以追踪故障。 谢谢!