我想在我的本地机器上部署应用程序。例如,我的Rails应用程序在:/home/thesis/dev/myapp
中,但我想通过cap deploy:setup
连接到/home/thesis/deploy/
。我试过了,但capistrano尝试连接到localhost
,但根本不需要它。我该怎么解决它呢?
我的deploy.rb来了
role :app, "localhost"
role :web, "localhost"
role :db, "localhost", :primary => true
set(:deploy_to) { "/home/thesis/dev/myapp" }
set :bundle_without, [:development, :test]
set :use_sudo, false
set :repository, "."
set :scm, :none
set :deploy_via, :copy
set :copy_dir, "/home/thesis/deploy/tmp"
set :copy_remote_dir, "/home/thesis/deploy/tmp"
它下降的原因是:
connection failed for: localhost (Errno::ECONNREFUSED: Connection refused - connect(2))
发布于 2011-11-30 01:36:35
localhost
问题是因为您在role
定义中设置了它。由于您是在本地执行所有这些操作,并且Capistrano需要一个角色,因此您可以设置以下内容:
role :app, ""
我还认为您设置的copy_dir
和copy_remote_dir
值不正确。我建议删除这些,并让Capistrano使用它的默认值。
这里有一个完整的配置,它应该对你有效:
role :app, ""
set :use_sudo, false
set :application, 'thesis' # you'll need to specify an app name
set :repository, "."
set :scm, :none
set :deploy_to, "/home/thesis/deploy/" # the destination dir
set :deploy_via, :copy
# override deploy:restart since this isn't a Rails app
namespace :deploy do
task :restart do
# no-op
end
end
发布于 2016-06-08 23:38:20
也许您缺少一个SSH服务器来连接您的机器,因为您只安装了客户端。
测试ssh 127.0.0.1
,如果仍然收到连接拒绝错误,请使用:
sudo apt-get install openssh-server
安装ssh服务器。
发布于 2013-01-16 22:21:59
我也遇到了这个问题,因为我将SSH端口设置为13000,而不是默认端口22。并添加了/etc/hosts.deny
sshd:ALL
添加了/etc/hosts.allow
sshd:#some allowed IPs
我正在处理的是:
1)添加到deploy.rb
ssh_options[:port] = 13600
2)将本地主机添加到hosts.allow
sshed:127.0.0.1 localhost # others allowed IPs
https://stackoverflow.com/questions/8309548
复制相似问题