首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCPSocket的不同行为

TCPSocket的不同行为
EN

Stack Overflow用户
提问于 2016-03-11 19:25:48
回答 1查看 99关注 0票数 0

我的一个rails应用程序开发遇到了问题。我使用heroku部署我的rails应用程序(prod env)。我对dev和prod环境有误解。

当我在dev环境中的rails控制台(rails控制台,在我的计算机本地)中执行"require 'socket';TCPSocket.new(nil,80)“,并在heroku的rails命令中执行相同的命令(heroku运行rails控制台)时,我没有得到相同的结果。

在dev环境中,我得到"#TCPSocket:fd 18“,然后没有出现问题,但在prod环境中,我得到了"Errno::ECONNREFUSED: Connection refused connect(2) for nil port 80”。

来自(irb):1:in initialize' from (irb):1:innew‘

来自(irb):1

来自/app/供应商/bundle/ruby/2.3.0/gems/railties 4.2.5/lib/rails/commands/console.rb:110:in ` `start‘

从/app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/commands/console.rb:9:in开始` `start‘

从控制台` /app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:68:in‘

来自/app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!‘

来自/app/vendor/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/commands.rb:17:in‘’

from /app/bin/rails:9:in‘`require’

来自/app/bin/rails:9:in main

我有相同的环境(相同版本的ruby、rails等)所以,如果你们中的一个人之前已经遇到过这个问题,或者可以解释一下TCPSocket在这种情况下的行为。

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2016-03-11 20:49:32

你的config/production.rb邮件是这样的吗?

代码语言:javascript
复制
 config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  host = 'yoursubdomain.herokuapp.com'
  config.action_mailer.default_url_options = { host: host }
  ActionMailer::Base.smtp_settings = {
    :address        => 'smtp.sendgrid.net',  //or whichever u use 
    :port           => '587',
    :authentication => :plain,
    :user_name      => ENV['SENDGRID_USERNAME'],
    :password       => ENV['SENDGRID_PASSWORD'],
    :domain         => 'heroku.com',
    :enable_starttls_auto => true
  }

结束

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35939051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档