2012-10-09 101 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連接出錯。 –

相關問題