我有一个相当简单的烧瓶应用程序,在我的本地机器上运行良好。该应用程序使用sqlite3。我正在尝试部署到运行nginx和uwsgi的CentOS机器上。该应用程序启动,但当我尝试通过chrome访问该网站时,它会引发异常:
sqlite3.OperationalError:无法打开数据库文件
我相信我拥有所有权限,启动应用的用户拥有数据库文件的所有权。所有目录都有777权限。该数据库具有665权限。 nginx是使用sudo开始的。
我已经梳理了所有关于此类事情的现有帖子。人们谈论权限,但我很确定我有正确的权限。该文件的名称是正确的。
DATABASE ='sqlite:////home /.../firstDB.db'
如果数据库指向不存在的文件,我会收到相同的错误。还有什么可能出错?
答案 0 :(得分:0)
事实证明,sqlite ///的文件名前缀不正确。我之前没有理解这一点。我只是放了文件名,现在就可以了。