2012-09-14 2 views
3

Amazon Web Services (AWS) EC2에 앱을 배포하는 방법을 배우기 위해 멋진 간단한 Rails 앱 (2 개 필드 1 모델)을 사용하려고합니다. 인스턴스 서버는 mysql2 데이터 어댑터를 사용한다. 나는 배치를하기 위해 고무 보석을 사용하려고합니다. 웹 사이트를 탐색 할 때까지 모든 것이 잘 보입니다 (부트 스트랩 & 배포).rails mysql2 어댑터가있는 고무 보석 - 사용자 오류로 인해 액세스가 거부되었습니다.

*** Exception PhusionPassenger::UnknownError in 
PhusionPassenger::Rack::ApplicationSpawner 
(Access denied for user ''@'blog.foo.com' to database 'blog_production' 
(Mysql2::Error)) 

왜 MySQL의 DB에 액세스 할 수 없습니다 : 나는 모델의 인덱스 페이지의 URL을 입력하면 아파치하는 error.log는이 오류를 보여줍니다? 고무 설치가 모든 것이 좋게 보입니다.

전체하는 error.log 데이터

[ pid=19455 thr=19477020 file=utils.rb:176 time=2012-09-13 23:25:01.220 ]: *** Exception PhusionPassenger::UnknownError in PhusionPassenger::Rack::ApplicationSpawner (Access denied for user ''@'blog.foo.com' to database 'blog_production' (Mysql2::Error)) (process 19455, thread #<Thread:0x00000002526438>): 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `initialize' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `new' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `mysql2_connection' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:304:in `new_connection' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:323:in `checkout_new_connection' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block (2 levels) in checkout' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:261:in `loop' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:261:in `block in checkout' 
from /usr/local/rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:260:in `checkout' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:162:in `connection' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:409:in `retrieve_connection' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:107:in `retrieve_connection' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:89:in `connection' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/base.rb:701:in `table_exists?' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/base.rb:792:in `attribute_names' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/actionpack-3.1.0/lib/action_controller/metal/params_wrapper.rb:168:in `_set_wrapper_defaults' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/actionpack-3.1.0/lib/action_controller/metal/params_wrapper.rb:128:in `inherited' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/actionpack-3.1.0/lib/abstract_controller/railties/routes_helpers.rb:7:in `block (2 levels) in with' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/actionpack-3.1.0/lib/action_controller/railties/paths.rb:7:in `block (2 levels) in with' 
from /mnt/blog-production/releases/20120914032205/app/controllers/articles_controller.rb:1:in `<top (required)>' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `block in require' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:225:in `load_dependency' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:348:in `require_or_load' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:302:in `depend_on' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:214:in `require_dependency' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/engine.rb:416:in `block (2 levels) in eager_load!' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/engine.rb:415:in `each' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/engine.rb:415:in `block in eager_load!' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/engine.rb:413:in `each' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/engine.rb:413:in `eager_load!' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/application/finisher.rb:51:in `block in <module:Finisher>' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/initializable.rb:25:in `instance_exec' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/initializable.rb:25:in `run' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/initializable.rb:50:in `block in run_initializers' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/initializable.rb:49:in `each' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/initializable.rb:49:in `run_initializers' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/application.rb:92:in `initialize!' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/railtie/configurable.rb:30:in `method_missing' 
from /mnt/blog-production/releases/20120914032205/config/environment.rb:5:in `<top (required)>' 
from config.ru:3:in `require' 
from config.ru:3:in `block in <main>' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `instance_eval' 
from /mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rack-1.3.6/lib/rack/builder.rb:51:in `initialize' 
from config.ru:1:in `new' 
from config.ru:1:in `<main>' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb:225:in `eval' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb:225:in `load_rack_app' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb:157:in `block in initialize_server' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/utils.rb:572:in `report_app_init_status' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb:154:in `initialize_server' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb:204:in `start_synchronously' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb:180:in `start' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb:129:in `start' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb:253:in `block (2 levels) in spawn_rack_application' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb:246:in `block in spawn_rack_application' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server_collection.rb:82:in `block in synchronize' 
from <internal:prelude>:10:in `synchronize' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb:244:in `spawn_rack_application' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb:137:in `spawn_application' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously' 
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.12/helper-scripts/passenger-spawn-server:99:in `<main>' 
[ pid=19516 thr=140129381447488 file=ext/apache2/Hooks.cpp:862 time=2012-09-13 23:25:01.326 ]: Unexpected error in mod_passenger: Cannot spawn application '/mnt/blog-production/releases/20120914032205': An error occured while spawning the application. 
Backtrace: 
in 'virtual Passenger::SessionPtr Passenger::ApplicationPool::Client::get(const Passenger::PoolOptions&)' (Client.h:742) 
in 'Passenger::SessionPtr Hooks::getSession(const Passenger::PoolOptions&)' (Hooks.cpp:294) 
in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:563) 

는 config입니다/배포 단절에 database.yml을 파일

production: 
    adapter: mysql2 
    encoding: utf8 
    database: blog_production 
    username: blog 
    password: 
    host: blog.foo.com 
    pool: 5 

이 문제를 추적 도움이 될 추가 정보가 무엇입니까?

이제 2 주간 AWS에 웹 사이트를 배포하려고합니다. 요즘 나는 흙을 낼거야.

감사합니다,

러스

나는 암호 필드가 비어보고, 그래서 다음에 고무 mysql.yml

db_user: "#{app_name[0,16]}" 
db_pass: kickback 
db_name: "#{app_name}_#{Rubber.env}" 
난 그냥 cap rubber:bootstrap을하고 시도

에 db_pass 변수에 값을 설정 cap deploy은 config/database.yml 파일에있는 서버의 암호 값을 채우기를 원합니다. 그게 작동하지 않아서, 나는 cap rubber:create_staging을 다했다. YML 파일은 이제 암호는

production: 
    adapter: mysql2 
    encoding: utf8 
    database: blog_production 
    username: blog 
    password: kickback 
    host: blog.foo.com 
    pool: 5 

채운 그러나 create_staging 명령의 꼬리 끝은 다음 시도하는 어떤이 오류

* executing "cd /mnt/blog-production/releases/20120914041247 && bundle exec rake RAILS_ENV=production db:migrate" 
    servers: ["blog.foo.com"] 
    [blog.foo.com] executing command 
** [out :: blog.foo.com] rake aborted! 
** [out :: blog.foo.com] 
** [out :: blog.foo.com] Access denied for user 'blog'@'blog.foo.com' (using password: YES) 
** [out :: blog.foo.com] 
** [out :: blog.foo.com] 
** [out :: blog.foo.com] Tasks: TOP => db:migrate 
** [out :: blog.foo.com] 
** [out :: blog.foo.com] (See full trace by running task with --trace) 
** [out :: blog.foo.com] 
    command finished in 25336ms 
failed: "/bin/bash -l -c 'cd /mnt/blog-production/releases/20120914041247 && bundle exec rake RAILS_ENV=production db:migrate'" on blog.foo.com 

을 보여 주었다? 아마도 rake db:migrate을 수동으로 시도해보십시오.

$ RAILS_ENV=production rake db:migrate --trace 
** Invoke db:migrate (first_time) 
** Invoke environment (first_time) 
** Execute environment 
Rails Error: Unable to access log file. Please ensure that /mnt/blog-production/releases/20120914041247/log/production.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed. 
** Invoke db:load_config (first_time) 
** Invoke rails_env (first_time) 
** Execute rails_env 
** Execute db:load_config 
** Execute db:migrate 
rake aborted! 
Access denied for user 'blog'@'blog.foo.com' (using password: YES) 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `initialize' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `new' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `mysql2_connection' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:304:in `new_connection' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:323:in `checkout_new_connection' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block (2 levels) in checkout' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:261:in `loop' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:261:in `block in checkout' 
/usr/local/rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:260:in `checkout' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:162:in `connection' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:409:in `retrieve_connection' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:107:in `retrieve_connection' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:89:in `connection' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/migration.rb:633:in `initialize' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/migration.rb:549:in `new' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/migration.rb:549:in `up' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/migration.rb:530:in `migrate' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/railties/databases.rake:161:in `block (2 levels) in <top (required)>' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain' 
/usr/local/rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' 
/mnt/blog-production/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>' 
/usr/local/rvm/gems/[email protected]/bin/rake:19:in `load' 
/usr/local/rvm/gems/[email protected]/bin/rake:19:in `<main>' 
/usr/local/rvm/gems/ruby-1.9.2-p290/bin/ruby_noexec_wrapper:14:in `eval' 
/usr/local/rvm/gems/ruby-1.9.2-p290/bin/ruby_noexec_wrapper:14:in `<main>' 
Tasks: TOP => db:migrate 

은 나를 고무를 사용하여 포기하는 시간인가?

+0

안녕하세요, 저는 동일한 문제에 직면하고 있습니다. 그것을 해결 했습니까? – ddb

답변

0

MySQL 인증 문제입니다. 먼저 (호스트 이름으로 인해) 사용자가 익명 계정과 일치하므로 액세스가 제한됩니다.

당신은 당신의 서버에 ssh를이 같은 방식으로 실패 입력하면 :

$ mysql -u blog -h blog.foo.com -p kickback 
ERROR 1045 (28000): Access denied for user 'blog'@'blog.foo.com' (using password: YES) 

을 내 세부 솔루션 here를 참조하십시오.

관련 문제