2014-10-09 77 views
1

這個問題似乎已被問了很多次,但我檢查過的所有解決方案還沒有爲我工作。我在安裝了Django 1.6.1的Ubuntu 14.04服務器上運行nginx。我正在嘗試爲項目使用默認的django admin後端(通常位於localhost/admin /)。Django管理後臺'操作錯誤'試圖寫一個只讀數據庫

我遇到的問題是OperationalError at /admin/ attempt to write a readonly database

(更新時,我改變了CHMOD權限的文件db.sqlite3現在的錯誤讀取OperationalError at /admin/ unable to open database file,但我已經檢查了Django Newbie Mistakes網站的答案,並沒有骰子上的每一個選項)

一些答案談到R + W + X權限生成的數據庫文件db.sqlite3據我可以告訴在數據庫文件甚至777沒有做任何事情,所以我一直在656保留了它。

據我可以告訴django項目的作品發現(所有頁面渲染罰款,/管理頁面渲染沒有CSS當我嘗試登錄使用本地主機/管理/然後單擊提交我得到的Django調試頁與錯誤)。他們全部由root:root擁有。我曾嘗試將每個文件和目錄的權限更改爲www-data:www-data,但沒有任何內容。

我甚至試圖改變settings.py有到數據庫,而不是os.path.join(BASE_DIR, 'db.sqlite3')

我認爲它下降到所有權問題,但我會採取任何幫助的絕對路徑。

回答

7

所有的麻煩和2+小時敲打我的頭靠在牆上,答案爲檔案...

我用gunicorn,我參加了一個俗套從數字海洋設置完這令用戶django。我認爲它的修剪方法將是一個很容易修改和跳過枯燥點的捷徑。原來在/etc/init/gunicorn.confsetuidsetgid被設置爲用戶django。我沒有閱讀文檔,並認爲這些意思不大。

如果遇到此問題,請刪除setuidsetgid或將它們設置爲www-data

+0

我有一個非常類似的問題,這是由我在這裏的評論中找到的解決方案修復:http://stackoverflow.com/questions/17641993/operationalerror-attempt-to-write-a-readonly-database-in- ubuntu-server只需'chmod a + w db.sqlite3' – 2017-01-01 01:05:22