服务器崩溃后,Rails / Devise Errno :: ENOENT在lockfile上

时间:2012-08-01 16:38:33

标签: ruby-on-rails devise openid

我有一个使用Devise的Rails 3.2.5应用程序,使用OpenID进行身份验证(Google),在nginx / unicorn上运行。

今天,我的服务器崩溃了。我重新启动了。现在登录无效。这是发生的事情:

  • 已签名的用户访问应用
  • 已注销用户已重定向至/users/sign_in
  • 用户点击“使用GMail登录”按钮
  • 500错误。在日志文件中,我看到:

    Started GET "/users/auth/google" for ...
    Errno::ENOENT (No such file or directory - /tmp/temp/tmp20120801-4155-1scxc9o.lock):
    

如何解决此错误?我甚至不确定从哪里开始。

2 个答案:

答案 0 :(得分:0)

这是一个访问问题。不确定根本原因,但毫无疑问它与我在配置应用程序时犯的一些错误有关。

要解决:

$ cd /tmp
$ chmod 777 temp
$ chmod 777 associations
$ chmod 777 nonces

答案 1 :(得分:0)

确保您的OpenID文件存储设置正确,即..

OpenID::Store::Filesystem.new('./tmp')

(注意/ tmp前面的。)