当我尝试在生产中运行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
。这使得网站只需点击几下,但随后又出现了错误。这可能是服务器问题吗?
答案 0 :(得分:1)
我通过在存储DB文件的目录中运行以下两个命令来修复它:
sudo chown apache:www db.sqlite3
sudo chown apache:www .
这适用于我使用Amazon Linux(CentOS)的AWS EC2
答案 1 :(得分:-1)
您将数据库的名称设置为完整路径。不要这样做。只需说'NAME': 'db.sqlite3'