编程语言
首页 > 编程语言> > mod_wsgi python conf解析器

mod_wsgi python conf解析器

作者:互联网

我建立了Flask,一个带有mod_wsgi的apache下的python web微框架.

该应用程序正常工作,除了python confparser.这不会引发错误:

parser = ConfigParser.ConfigParser()
parser.read('snati.con')

但是当我添加:

parser.get('database', 'user')

我在Apache的error.log中没有任何内容时出现内部服务器错误

我也尝试过:

file = open("sample.txt")

结果相同.

必须有一些配置问题,但我找不到它.

我的apache conf看起来像:

WSGIRestrictStdout Off

<VirtualHost *:80>
    ServerName my.com

    WSGIDaemonProcess myapp user=me group=me threads=5

    WSGIScriptAlias / /home/me/www/myapp.wsgi

    <Directory /home/me/www/myapp >
        WSGIProcessGroup myapp
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

我的app.wsgi

#active the python virtualenv for this application
activate_this = '/home/gilles/www/snati/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))


import sys
sys.path.insert(0, '/home/gilles/www/snati/src')
sys.stdout = sys.stderr

from app import app as application

什么可能是错的,为什么我不能在Apache日志中得到错误?

解决方法:

使用Python代码中文件的绝对路径,而不是相对路径.

该进程的当前工作目录不是您的应用程序代码和文件的位置.

您没有看到任何错误,因为如果没有处于调试模式,Flask将不会记录它们.设置应用程序捕获它们并通过电子邮件发送或以其他方式记录它们.我不记得Flask对后者有什么选择.

标签:python,flask,mod-wsgi
来源: https://codeday.me/bug/20190902/1791115.html