我有一个相当简单的 Flask 应用程序,它在我的本地机器上运行良好。该应用程序使用 sqlite3。我正在尝试部署到运行 nginx 和 uwsgi 的 CentOS 机器。该应用程序启动了,但是当我尝试通过 chrome 访问该网站时,它引发了一个异常:
sqlite3.OperationalError: 无法打开数据库文件
我相信我拥有正确的所有权限,启动应用程序的用户拥有数据库文件的所有权。所有目录都有 777 权限。数据库有665权限。 nginx 使用 sudo 启动。
我已经梳理了所有关于这种事情的现有帖子。人们谈论权限,但我很确定我拥有正确的权限。文件名是正确的。
DATABASE = 'sqlite:////home/.../firstDB.db'
如果数据库指向一个不存在的文件,我会得到同样的错误。还有什么可能出错?
最佳答案
原来是sqlite///的文件名前缀不对。我不明白这个,因为它以前有效。我只输入了文件名,现在可以使用了。
关于nginx - sqlite3无法打开数据库文件,运行Centos,flask uwsgi nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29870144/