我在Centos服务器,Apache和mod_wsgi模块(https://code.google.com/p/modwsgi/)下运行基本的Flask应用程序时遇到了很多问题

我在/ var / www / html / flask下设置了virtualenv并安装了Flask(在virtualenv下),在这个Flask目录中我有2个文件:

yourapplication.wsgi

activate_this = '/var/www/html/flask/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

import sys
sys.path.insert(0, '/var/www/html/flask')

from yourapplication import app as application

hello.py:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

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

我的虚拟主机看起来像:

LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so

#due to centos permissions
WSGISocketPrefix /var/run/wsgi

<VirtualHost *:80>
    ServerName flask.mydomain.com

    WSGIDaemonProcess yourapplication threads=5
    WSGIScriptAlias / /var/www/html/flask/yourapplication.wsgi

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

当我导航到flask.mydomain.com时,我收到500错误 . Apache日志显示以下内容:

mod_wsgi(pid = 8889):目标WSGI脚本'/var/www/html/flask/yourapplication.wsgi'无法作为Python模块加载 . mod_wsgi(pid = 8889):处理WSGI脚本'/var/www/html/flask/yourapplication.wsgi'时发生异常 . 回溯(最近一次调用最后一次):文件“/var/www/html/flask/yourapplication.wsgi”,第1行,来自您的应用程序导入应用程序作为应用程序ImportError:没有名为yourapplication的模块

我在CentOS版本6.7(最终版),已安装的Python 2.7下运行并在该版本下启动了我的virtualenv(virtualenv -p /usr/bin/python2.7)Centos默认带有Python 2.6,但我不认为它会用新版本替换它是明智的)