Ubuntu,virtualenv,flask/bottle 和 mod_wsgi 500 内部服务器错误

5 投票
1 回答
2384 浏览
提问于 2025-04-17 13:11

我在使用mod_wsgi和flask/bottle的时候遇到了一些麻烦。最开始我尝试用bottle,后来又换成了flask,但还是没法让它正常工作。

我知道问题出在app.wsgi文件上,因为我能让hello world测试成功运行(hello_world_test_app)。

目录结构

/path/to/ve/flask/
    hello.py
    app.wsgi

hello.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

app.wsgi

activate_this = '/path/to/virtualenv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

from hello import app as application

/etc/apache2/httpd.conf 我把守护进程的部分注释掉了,因为我只是想测试一下是否能工作,现在不需要用到这个,进程组/应用组也是一样。

<VirtualHost *>
   ServerName dev-ubuntu

   # WSGIDaemonProcess hello user=user1 group=group1 threads=5
   WSGIScriptAlias / /path/to/virtualenv/flask/app.wsgi

    <Directory /path/to/virtualenv/flask>
       # WSGIProcessGroup hello
       # WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

错误日志

[Fri Feb 17 14:43:20 2012] [error] [client 192.168.1.32] ImportError: No module named hello

1 个回答

0

apache用户是否有权限读取'/path/to/virtualenv/flask'这个文件夹?如果没有权限,它就无法读取和导入hello这个内容。

撰写回答