2012-08-01 55 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的前面。)