Flask 使用mod_wsgi部署烧瓶:我得到一个错误";无法打开数据库文件";从error.log

Flask 使用mod_wsgi部署烧瓶:我得到一个错误";无法打开数据库文件";从error.log,flask,mod-wsgi,Flask,Mod Wsgi,我已经安装了mod_wsgi,目前正在部署一个测试应用程序。问题源于应用程序无法从数据库中读取数据。如果我不使用mod_wsgi,测试应用程序就会工作 这是我的testapp.wsgi #! /usr/bin/python3.7 import logging import sys logging.basicConfig(stream=sys.stderr) sys.path.insert(0, '/var/www/html/TestApp/TestApp/') from testapp im

我已经安装了mod_wsgi,目前正在部署一个测试应用程序。问题源于应用程序无法从数据库中读取数据。如果我不使用mod_wsgi,测试应用程序就会工作

这是我的testapp.wsgi

#! /usr/bin/python3.7

import logging
import sys
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, '/var/www/html/TestApp/TestApp/')

from testapp import app as application
application.secret_key = "anything you wish"
这是我的TestApp.conf文件

<VirtualHost *:80>
        ServerName 172.28.103.40
        WSGIDaemonProcess testapp user=www-data group=www-data threads=5
        WSGIScriptAlias /testApp/var/www/html/TestApp/TestApp$

        <Directory /var/www/html/TestApp/TestApp>
                WSGIProcessGroup testapp
                WSGIApplicationGroup %{GLOBAL}
                Order deny,allow
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我的数据库文件

-rwxrwxrwx 1 www-data      www-data 237568 Nov  1 11:23 shieldcampus.db
我意识到不需要完全访问777,但我想看看将权限设置为777是否有效,但事实并非如此

错误日志中的确切错误为

[Thu Nov 14 10:53:35.501047 2019] [wsgi:error] [pid 3760] [client 172.19.90.16:60233]     con = sqlite3.connect("db/testapp.db")
[Thu Nov 14 10:53:35.501062 2019] [wsgi:error] [pid 3760] [client 172.19.90.16:60233] OperationalError: unable to open database file
我注意到错误日志中的IP地址不是我用来访问我的站点的IP地址

我的站点IP是172.28.103.40 与WSGI一起用于此呼叫的IP为172.19.90.16:60233

这可能是发生什么事的线索吗?如果不是的话,我就错过了一条断开的路。作为mod_wsgi的新手,在使用mod_wsgi设置数据库时,我可能错过了一些东西。我在文档上没有看到任何内容

此外,这是一个本地服务器,不是公共服务器。我不确定这是否有区别

编辑:烧瓶应用程序代码

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello world!"
if __name__ == "__main__":
    app.run()

你能分享一下你的烧瓶申请代码吗。此外,应用程序是如何部署的?它是否部署在与您尝试访问的服务器不同的服务器中?应用程序部署在单独的服务器中。一个覆盆子圆周率,准确地说是在跑Apache2。真正奇怪的是,今天早上它还在工作。然后,没有任何改变,它又停止了工作。可能是重新启动服务器导致了这种情况。如果我在本地主机上本地运行此操作,并更新.conf文件中的服务器名称,它就会工作。因此,问题在于通过服务器的主机名从另一个终端进行访问。有趣。我遇到了另一个错误,但是当我单击链接并将其路由到flask时,我丢失了WSGIScriptAlias重定向文件夹。也就是说,我运行localhost/testApp,它会重定向到localhost/testApp/login并工作。我单击一个链接,它会重定向到localhost/dashboard,而不是localhost/testApp/dashboard。但这绝对是一个不同的问题。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello world!"
if __name__ == "__main__":
    app.run()