-1

aws ec2 https://www.sitepoint.com/deploy-your-rails-app-to-aws/에 배포 가이드를 따랐습니다.aws에 capisrano로 레일 애플리케이션을 설치하는 중 오류가 발생했습니다

우분투 16 서버를 사용하고 있습니다.

모든 것이 서버에 완벽하게 설치되어 있지만 cap production deploy --trace을 실행하면 이것이 출력됩니다.

** Invoke production (first_time) 
** Execute production 
** Invoke load:defaults (first_time) 
** Execute load:defaults 
** Invoke rvm:hook (first_time) 
** Execute rvm:hook 
** Invoke rvm:check (first_time) 
** Execute rvm:check 
cap aborted! 
Net::SSH::ConnectionTimeout: Net::SSH::ConnectionTimeout 
/var/lib/gems/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:90:in `rescue in initialize' 
/var/lib/gems/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:57:in `initialize' 
/var/lib/gems/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh.rb:232:in `new' 
/var/lib/gems/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh.rb:232:in `start' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/connection_pool.rb:59:in `call' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/connection_pool.rb:59:in `with' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/netssh.rb:155:in `with_ssh' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/netssh.rb:108:in `execute_command' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:141:in `block in create_command_and_execute' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:141:in `tap' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:141:in `create_command_and_execute' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:60:in `capture' 
/var/lib/gems/2.1.0/gems/capistrano-rvm-0.1.2/lib/capistrano/tasks/rvm.rake:9:in `block (3 levels) in <top (required)>' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:29:in `instance_exec' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:29:in `run' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute' 
Errno::ETIMEDOUT: Connection timed out - connect(2) for 172.31.11.127:22 
/usr/lib/ruby/2.1.0/socket.rb:65:in `connect' 
/usr/lib/ruby/2.1.0/socket.rb:65:in `connect_internal' 
/usr/lib/ruby/2.1.0/socket.rb:140:in `connect' 
/usr/lib/ruby/2.1.0/socket.rb:338:in `block in tcp' 
/usr/lib/ruby/2.1.0/socket.rb:232:in `each' 
/usr/lib/ruby/2.1.0/socket.rb:232:in `foreach' 
/usr/lib/ruby/2.1.0/socket.rb:328:in `tcp' 
/var/lib/gems/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:70:in `initialize' 
/var/lib/gems/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh.rb:232:in `new' 
/var/lib/gems/2.1.0/gems/net-ssh-3.2.0/lib/net/ssh.rb:232:in `start' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/connection_pool.rb:59:in `call' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/connection_pool.rb:59:in `with' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/netssh.rb:155:in `with_ssh' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/netssh.rb:108:in `execute_command' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:141:in `block in create_command_and_execute' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:141:in `tap' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:141:in `create_command_and_execute' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:60:in `capture' 
/var/lib/gems/2.1.0/gems/capistrano-rvm-0.1.2/lib/capistrano/tasks/rvm.rake:9:in `block (3 levels) in <top (required)>' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:29:in `instance_exec' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/backends/abstract.rb:29:in `run' 
/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute' 
Tasks: TOP => rvm:check 

내 카피 스트라 노 production.rb 파일 :

server '172.31.11.127', user: 'deploy', roles: %w{web app db} 

내 카피 스트라 노 deploy.rb 파일 :

set :branch, :master 
set :deploy_to, '/home/deploy/rd' 
set :pty, true 

set :linked_files, %w{config/database.yml config/application.yml} 

set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system public/uploads} 


set :keep_releases, 5 
set :rvm_type, :user 
set :rvm_ruby_version, 'ruby 2.1.5' 

set :puma_rackup, -> { File.join(current_path, 'config.ru') } 
set :puma_state, "#{shared_path}/tmp/pids/puma.state" 
set :puma_pid, "#{shared_path}/tmp/pids/puma.pid" 
set :puma_bind, "unix://#{shared_path}/tmp/sockets/puma.sock" #accept array for multi-bind 
set :puma_conf, "#{shared_path}/puma.rb" 
set :puma_access_log, "#{shared_path}/log/puma_error.log" 
set :puma_error_log, "#{shared_path}/log/puma_access.log" 
set :puma_role, :app 
set :puma_env, fetch(:rack_env, fetch(:rails_env, 'production')) 
set :puma_threads, [0, 8] 
set :puma_workers, 0 
set :puma_worker_timeout, nil 
set :puma_init_active_record, true 
set :puma_preload_app, false 
+0

명령 줄 ssh [email protected]에서 확인을 시도하고 server authorized_keys 파일에 공개 키를 추가하면 ssh 서비스를 다시 시작해야합니다. – Pratap

+0

서비스를 다시 시작했지만 여전히 오류가 발생합니다. ip 52.2.139.74는 누구에게 무엇입니까? –

+0

ip 523.139.74 – Pratap

답변

0

연결 시간 제한은 일부 방화벽 규칙이 포트 22에 대한 귀하의 ssh 연결을 차단하는 것을 의미 컴퓨터에 코드를 배포하고 있습니다. 아래의 메시지 -

/var/lib/gems/2.1.0/gems/sshkit-1.11.4/lib/sshkit/runners/parallel.rb:12:inblock (레벨 2)에서 "실행 ERRNO :: ETIMEDOUT : 연결 시간이 초과되었습니다 - 연결 (2) '연결 /usr/lib/ruby/2.1.0/socket.rb:65:in 172.31.11.127:22에 대한

명확하게 보여줍니다 연결 제한 시간의 클라이언트 시스템에서 시간 종료 기간이 만기 된 후 awist 인스턴스에서 capistrano를 사용하고있는 것으로 확인되었으므로 capistrano 시스템이 연결하려고 시도하는 클라이언트 시스템의 보안 그룹을 확인하십시오. 포트 22는 최소한 capistrano 시스템의 IP/서브넷에 대해 열려 있어야합니다.

+0

내가 어떻게하는 것이 좋을까요? 방화벽에서 포트 22에 ip를 연결하고 동일한 오류가 발생했습니다. –

+0

배포 사용자가 코드를 배포하는 서버 컴퓨터에 있습니까? –

+0

예. 나는 그것들을 개별적으로 점검했다. –