2012-05-21 36 views
1

有些我是繼線程似乎老了,所以也許我所試圖做別的東西已被取代 - 如果是這樣的話,請讓我知道!調試導軌和客運和Apache

我剛剛重新安裝一個新的服務器上的Rails應用程序,但這次我使用Apache和乘客。 Rails版本1.8.7,Apache2和Passenger在Ubuntu 12.04服務器上。我想還有一個調試器,所以我想這個線程以下:

http://chrisadams.me.uk/2009/04/28/how-to-set-up-a-debugger-with-mod_railspassenger http://duckpunching.com/passenger-mod_rails-for-development-now-with-debugger (原文章)

我敢肯定,我跟着這個正好和我的文件是正確的。但我得到兩個不同點。首先,當我刷新我的網頁,我的網站不掛(在duckpunching頁上說明)......第二,當我把在:

rdebug -c 

我得到以下錯誤:

/usr/lib/ruby/gems/1.8/gems/ruby-debug-0.10.4/cli/ruby-debug.rb:109:in `initialize': Connection refused - connect(2) (Errno::ECONNREFUSED) 
    from /usr/lib/ruby/gems/1.8/gems/ruby-debug-0.10.4/cli/ruby-debug.rb:109:in `new' 
    from /usr/lib/ruby/gems/1.8/gems/ruby-debug-0.10.4/cli/ruby-debug.rb:109:in `start_client' 
    from /usr/lib/ruby/gems/1.8/gems/ruby-debug-0.10.4/bin/rdebug:336 
    from /usr/bin/rdebug:23:in `load' 
    from /usr/bin/rdebug:23 

所以我覺得我的終端不能自動連接?正如我所說的,我無法在網上找到有關此問題的最新信息,因此無論是進行此項工作(Apache/Passenger的控制檯類型調試,就像我使用WEBrick所做的那樣)或當前的最佳做法,都會對任何幫助表示讚賞。謝謝!

+0

你肯定正在創建DEBUG.TXT文件,並刪除,是應該是什麼?你還修改了development.rb或production.rb嗎? – moritz

+0

我使用RailsEnv發展環境,讓我修改development.rb包括,在底部(我包括直接,因爲RAILS_ROOT變量是給我一個錯誤的道路 - 我想這不是我的系統上定義): 如果File.exists?(File.join('〜/ www/glp','tmp','debug.txt')) require'ruby-debug' Debugger.wait_connection = true Debugger.start_remote File.delete File.join( '〜/ WWW/GLP', 'TMP', 'DEBUG.TXT')) 端 還有/ tmp下一個DEBUG.TXT文件,但它是空的(而不是被刪除,因爲它應該?)。 – user

+0

'File.join( '〜/ WWW/GLP', 'TMP', 'DEBUG.TXT')'可能是棘手,因爲'〜'是指該應用程序下運行的用戶的家。這通常是config.ru文件的所有者。另外,在使用rails 3(是嗎?)時,使用'Rails.root'而不是'RAILS_ROOT'。 – moritz

回答

0

檢查

File.join('~/www/glp','tmp','debug.txt') 

是否指的是正確的路徑,因爲它是作爲config.ru的所有者評估。