当客户下订单时,我的应用出现故障。我真的很绝望,因为我需要我的production.log来找出是什么破坏了应用程序!我登录到:~/mystore/current/log$nanoproduction.logproduction.log似乎自2017年5月23日以来就没有更新过。这是production.log的最后几行I,[2017-05-23T11:12:35.067624#1060]INFO--:Completed404NotFoundin27ms(ActiveRecord:3.0ms)F,[2017-05-23T11:12:35.069957#1060]FATAL--:Acti
我不确定如何将可发布key放入我的JavaScript代码中。当我将可发布key的值直接放入JavaScript时,它工作正常。当我尝试使用环境变量时它不起作用。配置/初始化程序/stripe.rbRails.configuration.stripe={:publishable_key=>ENV['PUBLISHABLE_KEY'],:secret_key=>ENV['SECRET_KEY']}Stripe.api_key=Rails.configuration.stripe[:secret_key]javascripts/charges.js.erbStripe.setPublish
我们每天使用capistrano(实际上是webistrano)进行20多次部署,但我们遇到了一个问题,即我们服务器上的磁盘空间充满了旧的部署文件夹。我时不时地运行deploy:cleanup清除所有部署的任务(它保留最后一个:keep_releases,当前设置为30)。我想自动清理。一种解决方案是将以下内容添加到配方中以在每次部署后自动运行清理:after"deploy","deploy:cleanup"但是,我不想在每次部署后执行此操作,我想将其限制为仅当先前部署的数量达到阈值时,例如70.有谁知道我该怎么做?想法:Capistrano是否提供了一个变量来保存以前部署的数量?如果
我有一个Rails应用程序,当我在本地运行它时,它工作正常。但是当我将我的应用程序上传到Heroku时,上传时出现以下错误:/usr/bin/env:ruby1.9.1:Nosuchfileordirectory当我请求页面时出现这个错误:2014-02-03T01:52:52.032866+00:00heroku[router]:at=errorcode=H10desc="Appcrashed"method=GETpath=/favicon.icohost=whispering-fortress-2710.herokuapp.comrequest_id=5db8fbf4-2250-4
我正在对现有RoR应用程序添加一些更改,发现request.env['HTTP_X_FORWARDED_FOR']返回了nil。我将其更改为request.remote_ip并获得了客户端的正确IP地址。为什么request.remote_ip在request.env['HTTP_X_FORWARDED_FOR']返回nil时返回一个IP?它们之间有什么区别?我怎样才能使request.env['HTTP_X_FORWARDED_FOR']工作,我应该使用哪一个(最佳实践)? 最佳答案 通常,您应该使用request.remote_
我配置了一个可以正常部署和工作的生产环境。虽然我遇到了一个我想不通的附属问题。我正在运行Whenevergem来执行几个cron作业,Whenevergemcapistrano实现使它们正确部署并且脚本正在执行。尽管在whenever.log中我收到以下输出:/bin/bash:bin/rails:Permissiondenied该脚本使用运行程序从RSS提要进行更新,尽管我使用Capistrano部署到新服务器,但它在以前的生产部署中没有发生任何事故。我四处搜索并找到了这个question,尽管每次部署时,我都必须使bin/rails可执行(由于来自Capistrano的日期戳部署)
是否可以配置Rails,使使用caches_page创建的缓存在Capistrano部署后仍然存在?即,我可以将缓存配置为保存到共享目录而不是公共(public)目录吗? 最佳答案 接受的答案没问题,但通常最好不要在部署时复制所有内容,而只是符号链接(symboliclink)缓存文件夹。这样,您可以在shared/目录中创建您的文件夹,并在部署时对其进行符号链接(symboliclink),例如:namespace:deploydodesc"Linkcachefoldertothenewrelease"task:link_cach
在Sinatra测试中,env['SERVER_NAME']默认为www.example.com.我如何将其设置为某个任意域?capybara有.default_host方法,但不使用capybara。或者,是否可以更改env[DEFAULT_HOST]?使用RSpec、Sinatra、WebMock。编辑:添加env['SERVER_NAME']='www.foo.com'RSpec测试引发异常:NameError:undefinedlocalvariableormethod'env'for# 最佳答案 env助手只能在Sinat
我正在尝试将数据库备份作为Capistrano(v3)部署脚本的一部分(用于非Rails应用程序)。如果我将数据库配置硬编码到脚本中,该脚本工作正常。现在我想从.env文件加载数据库配置。在我的本地机器上,我的.env文件(在Capfile旁边的repo根目录中)如下所示:DB_NAME='local_name'DB_USER='local_user'DB_PASSWORD='local_pw'DB_HOST='127.0.0.1'在服务器上,.env文件(Capistrano已将其放置在shared文件夹中并从current文件夹符号化为)如下所示:DB_NAME='dev_name
我有一个Rails应用程序已经投入生产。设置这些环境变量之前的人:...exportRACK_ENV=noneexportRAILS_ENV=production...RACK_ENV=none是做什么的?我在任何地方都找不到关于它的文档。我需要在Rails应用程序中设置它还是可以删除该导出? 最佳答案 恕我直言,这没用。要找到Rails应用程序的当前环境,首先查找RAILS_ENV环境变量,然后查找RACK_ENV环境变量,然后默认为'development'. 关于ruby-on-r