2012-08-01 56 views
0

我有一个使用Devise的Rails 3.2.5应用程序,OpenID用于身份验证(Google),运行在nginx/unicorn上。Rails/Devise Errno ::在服务器崩溃后的锁文件上ENOENT

今天,我的服务器崩溃了。我重新开始。现在登录无效。这里是发生了什么:

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

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

我怎样才能解决这个问题?我甚至不知道从哪里开始。

回答

0

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

要解决:

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

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

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

(注意在/ tmp的前面。)