Hello World - Flask/Apache/mod_wsgi - 没有来自Apache的回复

Dav*_*vid 6 python apache mod-wsgi flask

我正在关注http://www.enigmeta.com/2012/08/16/starting-flask/上的教程,使用mod_wsgi开发和部署一个简单的烧瓶应用程序到Apache.我想我已经把它缩小到我的Apache配置中的一个缺陷.如果我从命令行运行helloflask.py,它工作正常.我可以通过wget从localhost:5000的另一个shell访问它,我得到了正确的响应.我还有其他虚拟主机(非wsgi)启动并运行,所以我知道Apache正在运行并响应端口80上的其他请求.

我有以下结构:

/sites/helloflask.mydomain.com
   /helloflask
      application.wsgi
      helloflask.py
      (rest of env from virtualenv)
   /log
      access.log
      error.log
Run Code Online (Sandbox Code Playgroud)

helloflask.py:

from flask import Flask
app = Flask(__name__)

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

if __name__ == "__main__":
    app.run()
Run Code Online (Sandbox Code Playgroud)

application.wsgi:

import os, sys, logging
logging.basicConfig(stream=sys.stderr)

PROJECT_DIR = '/sites/helloflask.mydomain.com/helloflask'

activate_this = os.path.join(PROJECT_DIR, 'bin', 'activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
sys.path.append(PROJECT_DIR)

from helloflask import app as application
Run Code Online (Sandbox Code Playgroud)

Apache配置:/etc/apache2/sites-available/helloflask.mydomain.com

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

  WSGIDaemonProcess helloflask user=myuser group=myuser threads=5
  WSGIScriptAlias / /sites/helloflask.mydomain.com/helloflask/application.wsgi

  <Directory /sites/helloflask.mydomain.com/helloflask>
    WSGIProcessGroup helloflask
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
  </Directory>
  LogLevel warn
  ErrorLog /sites/helloflask.mydomain.com/log/error.log
  CustomLog /sites/helloflask.mydomain.com/log/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我启用vhost,重启apache,并且没有得到浏览器的响应."找不到服务器",所以没有500响应,没什么.访问/错误日志中没有条目(特定于此vhost).每次重新启动时,我都会在总体Apache错误日志中获得以下内容:

[Sat Jun 29 20:07:58 2013] [notice] caught SIGTERM, shutting down
[Sat Jun 29 20:07:59 2013] [warn] mod_wsgi: Compiled for Python/2.7.2+.
[Sat Jun 29 20:07:59 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Sat Jun 29 20:07:59 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.6 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
Run Code Online (Sandbox Code Playgroud)

我想知道那两条指示不同版本Python的[warn]行是否是我的问题,但我不知道修改它的方法或修改方法.任何建议表示赞赏.

谢谢!

Dus*_*son 7

helloflask.mydomain.com指向什么ip?尝试添加

127.0.0.1    helloflask.mydomain.com    helloflask
Run Code Online (Sandbox Code Playgroud)

到您的hosts文件,并指向您的Web浏览器

http://helloflask.mydomain.com
Run Code Online (Sandbox Code Playgroud)