Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在apache2上部署flask WSGI应用程序的问题_Python_Apache2_Flask_Wsgi - Fatal编程技术网

Python 在apache2上部署flask WSGI应用程序的问题

Python 在apache2上部署flask WSGI应用程序的问题,python,apache2,flask,wsgi,Python,Apache2,Flask,Wsgi,我创建了一个单文件Flask应用程序,以便测试如何在apache2服务器上部署它。就服务器和WSGI配置而言,我遵循了上的步骤。当我指向浏览器中的资源时,它表示我没有权限。WSGI守护程序被授予与Flask应用程序相同的权限。下面是VirtualHost配置 <VirtualHost *:80> ServerName localhost WSGIDaemonProcess flask_test user=someuser group=someuser threads=5 WSG

我创建了一个单文件Flask应用程序,以便测试如何在apache2服务器上部署它。就服务器和WSGI配置而言,我遵循了上的步骤。当我指向浏览器中的资源时,它表示我没有权限。WSGI守护程序被授予与Flask应用程序相同的权限。下面是VirtualHost配置

<VirtualHost *:80>

ServerName localhost 

WSGIDaemonProcess flask_test user=someuser group=someuser threads=5
WSGIScriptAlias /flask_test/ /var/www/flask_test/flask_test.wsgi

DocumentRoot /var/www/flask_test/
ErrorLog /var/www/flask_test/logs/error.log

    <Directory /var/www/flask_test/>
        WSGIProcessGroup flask_test
        WSGIApplicationGroup %{GLOBAL}
        WSGIScriptReloading On
        Order deny,allow
        Deny from all
    </Directory>

</VirtualHost>
最后是error.log的输出

[Tue Jul 31 01:51:18 2012] [error] Exception KeyError: KeyError(140345719740224,) in <module 'threading' from '/usr/lib/python2.6/threading.pyc'> ignored
[Tue Jul 31 01:51:21 2012] [error] [client 108.207.222.48] client denied by server configuration: /var/www/flask_test/flask_test.wsgi
[Tue Jul 31 01:51:21 2012] [error] [client 108.207.222.48] client denied by server configuration: /var/www/flask_test/favicon.ico
[Tue Jul 31 01:51:18 2012][error]异常键错误:忽略中的键错误(140345719740224,)
[Tue Jul 31 01:51:21 2012][error][client 108.207.222.48]客户端被服务器配置拒绝:/var/www/flask_test/flask_test.wsgi
[Tue Jul 31 01:51:21 2012][error][client 108.207.222.48]客户端被服务器配置拒绝:/var/www/flask_test/favicon.ico
编辑:在实现Graham Dumpleton建议后,服务器现在返回代码500,并出现以下错误
TypeError:“模块”对象不可调用

通常需要:

WSGIScriptAlias /flask_test/ /var/www/flask_test/flask_test.wsgi
子URL的装入点上没有尾随斜杠

更糟糕的是你有:

Deny from all
因此,您明确地告诉Apache返回禁止

你应该:

Allow from all
在这种情况下。

通常需要:

WSGIScriptAlias /flask_test/ /var/www/flask_test/flask_test.wsgi
子URL的装入点上没有尾随斜杠

更糟糕的是你有:

Deny from all
因此,您明确地告诉Apache返回禁止

你应该:

Allow from all

在这种情况下。

问题出在.wsgi文件中。
我没有正确导入应用程序对象。基本上,您希望确保将app对象作为应用程序导入wsgi中。例如,从flask\u测试导入应用程序作为应用程序

中,问题出现在.wsgi文件中。
我没有正确导入应用程序对象。基本上,您希望确保将app对象作为应用程序导入wsgi中。例如,来自flask_测试导入应用程序作为应用程序的

谢谢。我采纳了你的建议,看来我离你越来越近了。现在我得到了500个错误,在error.log
TypeError中:“module”对象在错误日志中不可调用。有没有办法获得更详细的输出?谢谢。我采纳了你的建议,看来我离你越来越近了。现在我得到了500个错误,在error.log
TypeError中:“module”对象在错误日志中不可调用。有没有办法获得更详细的输出?