【发布时间】:2017-09-21 15:24:10
【问题描述】:
当我尝试在生产环境中运行 Django 站点时出现以下错误:
OperationalError at / 无法打开数据库文件
最奇怪的部分是它适用于几次页面重新加载,甚至点击不同的导航链接。然后,它每隔一段时间左右就起作用。最后,它停止了一起工作。这种行为非常令人费解。
这是来自 settings.py 的相关部分
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
我已经在db.sqlite3 所在的目录中完成了chmod 777 db.sqlite 和chmod o+w .。它没有帮助。
我该如何解决这个问题?我正在使用带有 Linux 和 Apache 2.4 的基本 EC2 实例
编辑:
我刚刚使用cp project project1 复制了项目的整个目录,然后使用mv project1 project。这使该站点只需单击几下即可运行,但随后错误又开始蔓延。这可能是服务器问题吗?
【问题讨论】:
-
你的 settings.py 中还有其他数据库设置吗?
-
不,我没有。没有其他与 DB 相关的设置。
-
请看编辑。
-
如果使用完整路径作为名称,请确保服务器也可以写入父目录:stackoverflow.com/questions/7670289/…
-
“我已经在 db.sqlite3 所在的目录中完成了 chmod 777 db.sqlite 和 chmod o+w 。它没有帮助。”您对如何使父级可写有其他建议吗?
标签: python django apache sqlite permissions