我需要一些有关在生产Ruby-on-Rails站点中配置邮件的建议。
我在EngineYard上部署了Rails应用程序。我有几个站点,例如- demo.mydomain.com或staging.mydomain.com-如何配置Devise,以便在部署时可以确保确认邮件来自demo.mydomain.com或staging.mydomain.com自动发送?即,我想要相同的GitHub代码库,并希望动态填充配置。
目前在config/environments/production.rb我行:
config.action_mailer.default_url_options = { :host => 'demo.mydomain.com' }
Run Code Online (Sandbox Code Playgroud)
但是,当将相同的代码部署到staging.mydomain.com它们都在其中运行时,这是不正确的RAILS_ENV=production
有任何想法吗?
谢谢戴夫
更新:现在,为了实际操作,我添加了特定的环境来对邮件域进行硬编码。所以,现在demo.mydomain.com运行在environments/demo.rb,和www.mydomain.com上运行environments/productions.rb。我不喜欢这个就是文件之间的重复,这不是很清楚,我怎么干起来,因为我有,例如,database.yml
我正在使用carrierwave将图像上传到亚马逊s3.这在开发上非常有用,但是当我将它推送到我的服务器(engineyard cloud trial)时却没有.
该过程工作正常,不会抛出任何错误,并返回一个链接.但是,不知何故,实际图像已损坏.
这是一个,例如:https://s3.amazonaws.com/ZenBucket/uploads/goal/photo/30/guinness-toucan.jpg
任何人都可以告诉我它是如何被破坏,或者是什么可以做到这一点?
编辑:部署后的第一个图像上载尝试总是似乎失败500,但错误不会显示在日志中.不确定这是否相关.
编辑2:似乎也发生了蜻蜓宝石而不是载波.
谢谢
Chef - 如何获取Ruby变量的命令输出
我有以下场景,我grep一个文件
command "ls /filder1 | grep .txt"
Run Code Online (Sandbox Code Playgroud)
grep给出文件名/文件名的输出(如果存在).
我想将输出存储到ruby变量并在模板中使用它来生成配置文件.
我怎么做 ?
最近我的用户友好错误页面停止显示我的生产环境.我正在使用rails 3.0.3.
我有以下内容config/environments/production.rb:
config.action_controller.consider_all_requests_local = false
Run Code Online (Sandbox Code Playgroud)
当我使用生产环境在本地启动Web服务器时,用户友好的错误页面会正确显示.
还有其他人经历过这个吗?
我们正在构建一个 API 并使用 Chrome 的 Rest Console 扩展进行测试。我们已将应用程序部署在 Heroku 服务器上进行调试,也在 EC2 服务器上部署。它在带有自定义标头的 Heroku 服务器上给出了正确的结果。但对于 EC2 服务器,自定义标头不会传递。因此,正确的结果不会显示在 EC2 服务器上。在检查 EC2 服务器日志文件时,我们发现 HTTP 标头中不存在自定义标头。
我们从本地系统请求使用 Restclient:
RestClient.get('http://ec2-54-225-122-111.compute-1.amazonaws.com/method_name',{"Authorization"=> authorization_element,"custom_header1"=>val1,"custom_header2"=>val2})
为了在 Amazon AWS 服务器中获取自定义 HTTP 标头,我们需要进行任何设置吗?
编辑:我正在使用 EngineYard 进行部署过程。
ruby-on-rails amazon-s3 amazon-ec2 custom-headers engineyard
我在安永的rails部署上遇到了一些大问题.支持说我需要SSH来清除错误......但我得到以下内容:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
80:4c:5f:dd:98:bb:cb:01:6c:a9:11:41:29:56:66:86.
Please contact your system administrator.
Add correct host key in /Users/jameshughes/.ssh/known_hosts to get rid of this message.
Offending key in /Users/jameshughes/.ssh/known_hosts:1
RSA host key …Run Code Online (Sandbox Code Playgroud) 我正在尝试向我的某个应用程序添加数据库扩展,特别是fuzzystrmatch扩展.每当我尝试添加它时,我都会收到以下错误
-- execute("CREATE EXTENSION fuzzystrmatch") rake aborted! An error has occurred, this and all later migrations canceled:
PGError: ERROR: permission denied to create extension "fuzzystrmatch" HINT: Must be superuser to create this extension. : CREATE EXTENSION fuzzystrmatch
Run Code Online (Sandbox Code Playgroud)
我发现成为超级用户的唯一事情就是这样:
https: // blog.engineyard.com/ 2012/ postgresql- 9-1- is- now- in- beta`
我不知道怎么做?我ssh到数据库然后必须sudo执行命令?我发现的一切都非常无益.任何帮助表示赞赏谢谢.
我的应用程序暂存环境是mysql在database.yml文件中使用适配器.但我已经mysql2在我的gemfile中包含了gem,因为我有msql适配器错误.文件是这样的?
staging:
adapter: mysql
database: myapp
username: xyz
password: IiVTKgcJCt
host: ec2-50-16-127-64.compute-1.amazonaws.com
reconnect: true
Run Code Online (Sandbox Code Playgroud)
我怎样才能将适配器更改为mysql2?
我正在将一个rails3应用程序从heroku转移到引擎码.我想知道如何在每个部署的引擎码上启动(或重新启动)sidekiq?要检查sidekiq是否正常工作,我ssh到EY实例并手动启动sidekiq.我希望从EY部署脚本(config/deploy.yml)处理此过程.我习惯于mina部署和EC2.
engineyard ×9
amazon-s3 ×2
amazon-ec2 ×1
appcloud ×1
carrierwave ×1
chef-infra ×1
corruption ×1
deployment ×1
devise ×1
postgresql ×1
sidekiq ×1
ssh ×1