Вопрос по apache, mod-wsgi, python, flask – Hello World - Flask / Apache / mod_wsgi - нет ответа от Apache

6

Я следую за учебником вhttp://www.enigmeta.com/2012/08/16/starting-flask/ разработать и развернуть простое приложение фляги в Apache, используя mod_wsgi. Я думаю я'Мы сузили это до недостатка в моем конфиге Apache. Если я запускаю helloflask.py из командной строки, он работает нормально. Я могу получить к нему доступ через wget из другой оболочки по адресу localhost: 5000, и я получаю правильный ответ. У меня также есть другие виртуальные хосты (не wsgi), так что я знаю, что Apache работает и отвечает на другие запросы на порту 80.

У меня есть следующая структура:

/sites/helloflask.mydomain.com
   /helloflask
      application.wsgi
      helloflask.py
      (rest of env from virtualenv)
   /log
      access.log
      error.log

helloflask.py:

from flask import Flask
app = Flask(__name__)

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

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

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

Конфигурация Apache: /etc/apache2/sites-available/helloflask.mydomain.com


  ServerName helloflask.mydomain.com

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

  
    WSGIProcessGroup helloflask
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
  
  LogLevel warn
  ErrorLog /sites/helloflask.mydomain.com/log/error.log
  CustomLog /sites/helloflask.mydomain.com/log/access.log combined

Я включил 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

мне интересно, если эти две строки [warn], указывающие на разные версии Python, являются моей проблемой, но я нене знаю, как или что изменить, чтобы исправить это. Любые предложения приветствуются.

Спасибо!

Ваш Ответ

1   ответ
7

На какой ip указывает helloflask.mydomain.com? Попробуйте добавить

127.0.0.1    helloflask.mydomain.com    helloflask

К вашему хост-файлу и указав ваш веб-браузер на

http://helloflask.mydomain.com
Это не былоТак много проблем с DNS, как и с Apache. Из-за директивы ServerName Apache искал запрос для helloflask.mydomain.com, но я 'Я предполагаю, что вы просто использовали 127.0.0.1 или localhost. Dustin Anderson
Тот'это было Самое смешное, что, пока я ждал, что кто-то ответит на это, я помог другому парню с проблемой / etc / hosts. Его было более очевидно - он получал "нет пути к хозяину ошибка, но все же .. Я должен был рассмотреть это здесь. Я не'Не думаю, что это проблема, потому что www.mydomain.com работал нормально. Угадайте, мне нужно посмотреть DNS и поддоменов. Спасибо! David
@DustinAnderson где мы должны добавить эти строки? Slickmind

Похожие вопросы