Linux
使用 Capistrano 將 PHP 應用程序部署到 Linode 時出現連接錯誤
我正在嘗試使用 Capistrano 將 PHP 應用程序部署到 Linode 伺服器上。我已經安裝了 Ruby 和 Capistrano,並配置了我的
deploy.rb
文件(可能不正確)。但是,當我執行時,
cap deploy
我收到此錯誤:
[deploy:update_code] exception while rolling back: Capistrano::ConnectionError, connection failed for: myusername@lish-atlanta.linode.com (Net::SSH::AuthenticationFailed: myusername) connection failed for: myusername@lish-atlanta.linode.com (Net::SSH::AuthenticationFailed: myusername)
這是我的
deploy.rb
文件:set :application, "App name" set :repository, "https://github.com/MyProject/Main.git" set :user, "root" set :password, "sshpassword" set :scm, :git set :deploy_to, "/srv/www/myproject.com/htdocs" set :deploy_via, :remote_cache set :use_sudo, false set :copy_exclude, [".git", ".DS_Store", ".gitignore", ".gitmodules", "Capfile", "config/deploy.rb"] set :ssh_options, {:forward_agent => true} server "myusername@lish-atlanta.linode.com", :app
我已經驗證了 SSH 的使用者名和密碼是否有效(我已經使用這些憑據從終端登錄了 SSH)。
有任何想法嗎?任何幫助將不勝感激!如果需要,我可以澄清這個問題:)
問題可能是您已將 :user 設置為“root”,但隨後您將 SSH 設置為“myusername”。您將 use_sudo 設置為 false 是正確的,但應該有一個專門用於部署的使用者。創建一個使用者來部署應用程序並確保 /srv/www/myproject.com/htdocs 歸該使用者所有。您希望您的使用者設置類似於:
set :user, "deployer" set :group, "deployer" set :password, "sshpassword" server "deployer@lish-atlanta.linode.com", :app