2012-10-09 137 views
4

我是Ruby on Rails的新手。我已经创建了两个基本的演示应用程序,按教程learning by examplesPG ::错误服务器意外关闭连接

突然停止工作,我的新示例应用程序。

我已经生成了一个控制器Pages和两个动作homecontact并没有什么奇特的。

现在,我无法打开任何页面,除了默认的index.html rails页面localhost:3000localhost:3000/pages/homelocalhost:3000/pages/contact的页面返回此错误。

PG ::错误

服务器关闭了连接意外这可能意味着服务器 异常之前终止或在处理请求。

,有时(通常当我重新启动的PostgreSQL)

PG ::错误

服务器关闭了连接意外这可能意味着服务器 异常之前终止或在处理请求。 无法发送的启动包:断的管

这是我的堆栈跟踪

的ActiveRecord(3.2.8) 的lib/active_record/connection_adapters/postgresql_adapter.rb:1213:在 initialize' activerecord (3.2.8) lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in (3.2.8) lib/active_record/connection_adapters/postgresql_adapter.rb:1213:在 connect' activerecord (3.2.8) lib/active_record/connection_adapters/postgresql_adapter.rb:329:in 初始化'activerecord(3.2.8) lib/active_record/connection_adapters/postgres ql_adapter.rb:28:在 new' activerecord (3.2.8) lib/active_record/connection_adapters/postgresql_adapter.rb:28:in postgresql_connection的ActiveRecord(3.2.8) LIB/active_record/connection_adapters /抽象/ connection_pool.rb:309:在 new_connection' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:319:in checkout_new_connection的ActiveRecord(3.2.8) LIB/active_record/connection_adapters /抽象/ connection_pool.rb:241:在 block (2 levels) in checkout' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:236:in 环的ActiveRecord(3.2.8) LIB/active_record/connection_adapters /抽象/ connection_pool.rb:236:在 block in checkout' /home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize的ActiveRecord(3.2.8) LIB/active_record/connection_adapters/abstract/connection_pool.rb:233: checkout' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:96:in 连接中的块' /home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby /1.9.1/monitor.rb:211:in mon_synchronize' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:95:in 连接的ActiveRecord(3.2.8) LIB/active_record/connection_adapters /抽象/ connection_pool.rb:404:在 retrieve_connection' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_specification.rb:170:in retrieve_connection的ActiveRecord(3.2.8) LIB /active_record/connection_adapters/abstract/connection_specification.rb:144:in connection' activerecord (3.2.8) lib/active_record/query_cache.rb:67:in营救呼叫的ActiveRecord (3.2.8)LIB/active_record/query_cache.rb:61:在call' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in 呼叫'ActionPack的(3.2.8) LIB/action_dispatch /中间件/回调。RB:28:在block in call' activesupport (3.2.8) lib/active_support/callbacks.rb:405:in 运行 _3261957284442330683_ 呼叫 _599627944998934036__callbacks' 的ActiveSupport(3.2.8)LIB/active_support/callbacks.rb:405:在 __run_callback' activesupport (3.2.8) lib/active_support/callbacks.rb:385:in _run_call_callbacks' 的ActiveSupport(3.2.8)LIB/active_support /回调。 RB:81:在 run_callbacks' actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:27:in呼叫 'ActionPack的 (3.2.8)LIB/action_dispatch /中间件/ reloader.rb:65:在call' actionpack (3.2.8) lib/action_dispatch/middleware/remote_ip.rb:31:in 呼叫' ActionPack的(3.2.8) LIB/action_dispatch /中间件/ debug_exceptions.rb:16 :在call' actionpack (3.2.8) lib/action_dispatch/middleware/show_exceptions.rb:56:in调用' railties(3.2.8)lib/rails/rack/logger.rb:26:在call_app' railties (3.2.8) lib/rails/rack/logger.rb:16:in调用'actionpack(3.2.8) lib/action_dispatch/middleware/request_id.rb:22:在call' rack (1.4.1) lib/rack/methodoverride.rb:21:in调用'rack(1.4.1) lib/rack/runtime.rb:17:in call' activesupport (3.2.8) lib/active_support/cache/strategy/local_cache.rb:72:in call'rack (1.4.1)lib/rack/lock .rb:15:在call' actionpack (3.2.8) lib/action_dispatch/middleware/static.rb:62:in调用'railties(3.2.8) lib/rails/engine.rb:479:在call' railties (3.2.8) lib/rails/application.rb:223:in调用'rack(1.4.1) lib/rack/content_length.rb:14:在call' railties (3.2.8) lib/rails/rack/log_tailer.rb:17:in调用'rack(1.4.1) lib/rack/handler/webrick.rb:59:in service' /home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in service' /home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1 /webrick/httpserver.rb:94:in run' /home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in block in start_thread'

我现在不使用数据库。我试图做rake db:migrate,但它返回相同的错误。

我在Ubuntu 12.04(如在谷歌的一些错误进行了相关的Ubuntu)

我发现在如此相似的问题,但它们在一些推进阶段经历,因此涉及到一些提前的解决方案。

+0

检查PostgreSQL错误日志以获取更多信息。 –

+0

我找到了答案,并在下面指定。 – Jashwant

+0

这个问题奇怪的错误。它应该一直给你“连接拒绝”。 “意外关闭连接”表明您设法获得了一个连接,然后用TCP RST或FIN关闭连接。奇怪的。 –

回答

3

尽管我没有使用数据库,但指定配置中的端口在database.yml解决了问题。默认情况下,rails new <app_name> --database=postgresql命令不会在那里放置一个port

这是我的配置。

development: 
    adapter: postgresql 
    encoding: unicode 
    database: sample_app_development 
    pool: 5 
    port: 5433 
    username: myusername 
    password: mypassword 
    reconnect: true 
+0

在我的情况下没有帮助。我们正在使用与Postgresql的太阳黑子。每当我们启动太阳黑子服务器时,我们就得到了PG :: UnableToSend:服务器在尝试创建模型时意外关闭了连接。 –

+0

@PhươngNguyễn,检查你的防火墙。有关此问题,请参阅其他有关SO的问题/答案。可能有不同的原因或者这个错误。 – Jashwant

+0

我们通过在叉子中启动太阳黑子服务器来修复它。在与Rails服务器相同的进程中运行Sunspot会使Postgresql连接出错。 –

相关问题