在过去三年左右的时间里,我经常使用这个网站......这是我的第一篇文章:D
但是,无用的玩笑已经够了,继续手头的事情。
我将从方法/问题、错误开始,然后是错误的跟踪/日志。
然后我会回顾一下到目前为止我为解决这个问题所做的工作,我注意到的一些奇怪的事情,以及我认为可能导致它的原因。
方法/问题:
我最近加入了一个移动应用程序的后端开发团队,在我实现任何新功能之前,我必须让产品在我的本地机器上启动并运行......
(在 app 目录中) rails s
=> 启动 WEBrick
=> Rails 3.1.0.rc4 应用程序开始在http://0.0.0.0:3000开发
=> 使用 -d 调用以分离 => Ctrl-C 以关闭服务器
[2011-09-14 19:11:59] INFO WEBrick 1.3.1
[2011-09-14 19:11:59] INFO ruby 1.8.7 (2009-06-12) [universal-darwin10.0]
[2011-09-14 19:11:59] 信息 WEBrick::HTTPServer#start: pid=35031 端口=3000
所以现在所有这些看起来都很好,但是当我尝试在浏览器上访问页面时......
错误:
(浏览器页面标题):动作控制器:异常捕获
PG错误
fe_sendauth:未提供密码
跟踪/日志
(接第一节终端的最后一行)
缓存错误:没有可用的服务器
/Library/Ruby/Gems/1.8/gems/dalli-1.0.5/lib/dalli/ring.rb:45:in `server_for_key'
/Library/Ruby/Gems/1.8/gems/dalli-1.0.5/lib/dalli/client.rb:239:in `执行'
/Library/Ruby/Gems/1.8/gems/dalli-1.0.5/lib/dalli/client.rb:60:in `get'
/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/metastore.rb:320:in `read'
/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/metastore.rb:30:in `lookup'
/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/context.rb:165:in `lookup'
/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/context.rb:65:in `call!'
/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/context.rb:50:in `call'
/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/deflater.rb:13:in `call'
/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/rack/content_length.rb:16:in `call'
/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/rack/log_tailer.rb:14:in `call'
/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/handler/webrick.rb:59:in `服务'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/handler/webrick.rb:13:in `run'
/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/server.rb:265:in `start'
/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands/server.rb:70:in `start'
/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands.rb:54
/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands.rb:49:in `tap'
/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands.rb:49
脚本/rails:6:in `require'
脚本/导轨:6
缓存:[GET /] 传递
Dalli::Server#connect localhost:11211
本地主机:11211 失败(计数:0)
我也可以从浏览器中给出完整的跟踪信息,但我不希望这篇文章变得太罗嗦。
所以这就是两难境地!
我做了什么:
简单的解决方案(如下所列)没有任何区别。
正确安装了 pg gem(手动包含路径后)
我修复了 pg_hba.conf 文件以允许信任(ed)连接。
我可以通过 pgadmin3 工具和终端连接到 postgres 数据库。
啊?:
在不同的端口上运行服务器没有任何区别,但如果我尝试连接到为我的 postgresql 数据库保留的端口之一,则连接很忙(如果需要,我也可以发布该错误日志)。
如果我尝试从应用程序访问不存在的页面...例如 users/explode 或 signin/signout,则错误是相同的。不过,终端日志每次都会显示“[GET /'var'] pass”。
想法:
我最好的猜测是问题出在仍然需要密码的连接上,因为“ [GET /'var'] pass ”末尾有一个密码
或者
pg db 正在另一台服务器上运行,并且该应用程序不喜欢我尝试在本地计算机上运行它。
我希望你的猜测比我的好。
如果你设法通过这篇文章做到了,赞。非常感谢。如果你设法想出一个解决方案,不知何故,我将永远亲切。
问候,
~Ryan Johnson(RyeGuyHead)