Ruby on Rails Postgres Server

时间:2017-02-03 19:11:17

标签: ruby-on-rails ruby postgresql

我正在使用Xubuntu上的PostgreSQL(Xfce桌面环境)开发Ruby on Rails应用程序。我使用Linuxbrew

下载了postgresql

我的database.yml看起来像:

development:
  adapter:  postgresql
  encoding: unicode
  database: rado_dev_bouldin
  host: localhost
  port: 5432
  pool:     5
  username: bouldin.15

首先我遇到服务器已经运行的问题并检查/tmp/pids/server.pid文件,我这样做并使用kill -9 1420杀死了该进程

我再次跑server s得到以下情况:

$ rails s
=> Booting Thin
=> Rails 4.1.12 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on 0.0.0.0:3000, CTRL+C to stop

所以看起来它有效,但是一旦我实际打开http://localhost:3000/,我得到以下输出

Started GET "/" for 127.0.0.1 at 2017-02-03 14:07:55 -0500

PG::ConnectionBad - could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?
:
  activerecord (4.1.12) lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `initialize'
  activerecord (4.1.12) lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `new'
  activerecord (4.1.12) lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `connect'
  activerecord (4.1.12) lib/active_record/connection_adapters/postgresql_adapter.rb:568:in `initialize'
  activerecord (4.1.12) lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `new'
  activerecord (4.1.12) lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `postgresql_connection'
  activerecord (4.1.12) lib/active_record/connection_adapters/abstract/connection_pool.rb:435:in `new_connection'
  activerecord (4.1.12) lib/active_record/connection_adapters/abstract/connection_pool.rb:445:in `checkout_new_connection'
  activerecord (4.1.12) lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `acquire_connection'
  activerecord (4.1.12) lib/active_record/connection_adapters/abstract/connection_pool.rb:351:in `block in checkout'
   () home/bouldin.15/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
  activerecord (4.1.12) lib/active_record/connection_adapters/abstract/connection_pool.rb:350:in `checkout'
  activerecord (4.1.12) lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block in connection'
   () home/bouldin.15/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
  activerecord (4.1.12) lib/active_record/connection_adapters/abstract/connection_pool.rb:264:in `connection'
  activerecord (4.1.12) lib/active_record/connection_adapters/abstract/connection_pool.rb:541:in `retrieve_connection'
  activerecord (4.1.12) lib/active_record/connection_handling.rb:113:in `retrieve_connection'
  activerecord (4.1.12) lib/active_record/connection_handling.rb:87:in `connection'
  activerecord (4.1.12) lib/active_record/migration.rb:388:in `check_pending!'
  activerecord (4.1.12) lib/active_record/migration.rb:377:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  actionpack (4.1.12) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  activesupport (4.1.12) lib/active_support/callbacks.rb:82:in `run_callbacks'
  actionpack (4.1.12) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  actionpack (4.1.12) lib/action_dispatch/middleware/reloader.rb:73:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  actionpack (4.1.12) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  better_errors (2.1.1) lib/better_errors/middleware.rb:84:in `protected_app_call'
  better_errors (2.1.1) lib/better_errors/middleware.rb:79:in `better_errors_call'
  better_errors (2.1.1) lib/better_errors/middleware.rb:57:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  actionpack (4.1.12) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  actionpack (4.1.12) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  railties (4.1.12) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.1.12) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.1.12) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.1.12) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.1.12) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.1.12) lib/rails/rack/logger.rb:20:in `call'
  quiet_assets (1.1.0) lib/quiet_assets.rb:27:in `call_with_quiet_assets'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  actionpack (4.1.12) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  rack (1.5.5) lib/rack/methodoverride.rb:21:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  rack (1.5.5) lib/rack/runtime.rb:17:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  activesupport (4.1.12) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  rack (1.5.5) lib/rack/lock.rb:17:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  actionpack (4.1.12) lib/action_dispatch/middleware/static.rb:84:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  rack (1.5.5) lib/rack/sendfile.rb:112:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  railties (4.1.12) lib/rails/engine.rb:514:in `call'
  railties (4.1.12) lib/rails/application.rb:144:in `call'
  newrelic_rpm (3.15.1.316) lib/new_relic/agent/instrumentation/middleware_tracing.rb:96:in `call'
  rack (1.5.5) lib/rack/content_length.rb:14:in `call'
  thin (1.6.4) lib/thin/connection.rb:86:in `block in pre_process'
  thin (1.6.4) lib/thin/connection.rb:84:in `catch'
  thin (1.6.4) lib/thin/connection.rb:84:in `pre_process'
  thin (1.6.4) lib/thin/connection.rb:53:in `process'
  thin (1.6.4) lib/thin/connection.rb:39:in `receive_data'
  eventmachine (1.2.0.1) lib/eventmachine.rb:194:in `run_machine'
  eventmachine (1.2.0.1) lib/eventmachine.rb:194:in `run'
  thin (1.6.4) lib/thin/backends/base.rb:73:in `start'
  thin (1.6.4) lib/thin/server.rb:162:in `start'
  rack (1.5.5) lib/rack/handler/thin.rb:16:in `run'
  rack (1.5.5) lib/rack/server.rb:264:in `start'
  railties (4.1.12) lib/rails/commands/server.rb:69:in `start'
  railties (4.1.12) lib/rails/commands/commands_tasks.rb:81:in `block in server'
  railties (4.1.12) lib/rails/commands/commands_tasks.rb:76:in `tap'
  railties (4.1.12) lib/rails/commands/commands_tasks.rb:76:in `server'
  railties (4.1.12) lib/rails/commands/commands_tasks.rb:40:in `run_command!'
  railties (4.1.12) lib/rails/commands.rb:17:in `<top (required)>'
   () home/bouldin.15/Psychology/RADO/bin/rails:8:in `require'
   () home/bouldin.15/Psychology/RADO/bin/rails:8:in `<top (required)>'
  spring (1.7.1) lib/spring/client/rails.rb:28:in `load'
  spring (1.7.1) lib/spring/client/rails.rb:28:in `call'
  spring (1.7.1) lib/spring/client/command.rb:7:in `call'
  spring (1.7.1) lib/spring/client.rb:30:in `run'
  spring (1.7.1) bin/spring:49:in `<top (required)>'
  spring (1.7.1) lib/spring/binstub.rb:11:in `load'
  spring (1.7.1) lib/spring/binstub.rb:11:in `<top (required)>'
   () home/bouldin.15/Psychology/RADO/bin/spring:16:in `require'
   () home/bouldin.15/Psychology/RADO/bin/spring:16:in `<top (required)>'
   () rails:3:in `load'
   () rails:3:in `<main>'



Started POST "/__better_errors/b6383117352c5f7e/variables" for 127.0.0.1 at 2017-02-03 14:07:55 -0500

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

...解决

我尝试使用postgres -D /usr/local/pgsql/data命令启动PostgreSQL数据库。我收到一个错误,我的postgres数据不存在,并使用命令initdb PGDATA来创建它。然后我使用pg_ctl -D PGDATA -l logfile start启动服务器。然后我不得不重新创建我的数据库,所以我运行了$bin\rake db:create db:migrate