我有一个mod_wsgi和烧瓶的问题我不知道在经过近48小时的尝试后它是什么我终于放弃并需要一些帮助。一切似乎都很好并且工作正常我知道这一点,因为如果用户没有登录,我的www.example.com域将路由到example.com/login。
当我访问example.com时,路由确实发生了,我可以看到url更改为example.com/login
这是我的配置:
killerapp.wsgi:
from main import app as application
和apache虚拟主机:
NameVirtualHost *:8080
<VirtualHost *:8080>
ServerName example.com
WSGIDaemonProcess killerapp user=apache group=apache threads=5
WSGIScriptAlias / /var/www/wsgi/killerapp.wsgi
<Directory /var/www/wsgi>
WSGIProcessGroup killerapp
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
我一直收到以下错误
ImportError: No module named app
当我做的时候
chmod 755 app
在app文件夹上的我在日志文件中得到以下内容,表示没有错误:
[Wed Nov 06 17:25:29 2013] [info] [client xx.xx.x.xxx] mod_wsgi (pid=3823, process='killerapp', application=''): Loading WSGI script '/var/www/wsgi/killerapp.wsgi
但是当我访问该页面时仍然出现以下错误:
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
我怀疑它是一个所有权/安全问题,但这只是我猜我现在还不知道。如果有任何帮助我在Centos 6.4和mod_wsgi 3.2.3上运行python 2.6.6
真的很感激任何帮助。 谢谢
答案 0 :(得分:3)
非常感谢Mark Hildreth向我展示了“方式”,我终于看到了问题所在。这是一个许可问题
在我的python应用程序中,我在初始化烧瓶应用程序之后启用了调试,如下所示:
app = Flask(__name__)
app.debug = True
这允许Flask在apache错误日志中显示错误消息。在我的情况下,问题是Jinja无法访问模板目录,因为apache用户未被设置为该目录的所有者,因此以下修复了它:
chown apache:apache templates
再次感谢Mark Hildreth向我展示了光明!