在/无法打开数据库文件时出现OperationalError偶尔出现

时间:2017-04-24 19:56:56

标签: python django apache sqlite permissions

当我尝试在生产中运行Django网站时,我收到以下错误:

  

在/无法打开数据库文件时出现OperationalError

最奇怪的是,它可以用于几页重新加载甚至点击不同的导航链接。然后,它每隔一段时间左右工作一次。最后,它停止了一起工作。这种行为非常令人费解。

以下是来自settings.py

的相关内容
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

我在chmod 777 db.sqlite所在的目录中完成了chmod o+w .db.sqlite3。它没有帮助。

我该如何解决这个问题?我正在使用Linux和Apache 2.4的基本EC2实例

修改:

我刚刚使用cp project project1复制了整个项目目录,然后mv project1 project。这使得网站只需点击几下,但随后又出现了错误。这可能是服务器问题吗?

2 个答案:

答案 0 :(得分:1)

我通过在存储DB文件的目录中运行以下两个命令来修复它:

sudo chown apache:www db.sqlite3

sudo chown apache:www .

这适用于我使用Amazon Linux(CentOS)的AWS EC2

答案 1 :(得分:-1)

您将数据库的名称设置为完整路径。不要这样做。只需说'NAME': 'db.sqlite3'