首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >capistrano不尊重port

capistrano不尊重port
EN

Stack Overflow用户
提问于 2017-07-05 22:05:25
回答 1查看 213关注 0票数 0

我将部署到生产环境,如下所示:

代码语言:javascript
复制
HOSTS = [
  'api1.app.io',
  'api2.app.io',
  'api3.app.io',
  'api4.app.io',
  'api5.app.io',
  'api6.app.io',
  'api7.app.io',
  'api8.app.io',
  'api9.app.io',
  'api10.app.io'
].freeze

HOSTS.each do |host|
  server host, roles: %i[app web], user: 'deploy', port: 2323
end

尽管当capistrano尝试ssh进入服务器时它会失败,因为它仍然尝试使用端口22连接...

代码语言:javascript
复制
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host api2.app.io: Net::SSH::ConnectionTimeout

Net::SSH::ConnectionTimeout: Net::SSH::ConnectionTimeout

Errno::ETIMEDOUT: Connection timed out - connect(2) for xx.xx.xx.xx:22

是否有其他方法来配置端口?

EN

回答 1

Stack Overflow用户

发布于 2017-07-06 00:15:13

:port选项应该可以工作。如果不是这样,那么它就是一个bug。请在https://github.com/capistrano/capistrano/issues上打开错误报告。

作为一种解决方法,您还可以使用<host>:<port>语法通过主机名指定端口,如下所示:

代码语言:javascript
复制
HOSTS.each do |host|
  server "#{host}:#{port}", roles: %i[app web], user: 'deploy'
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44928501

复制
相关文章

相似问题

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