Flask и apache настройка wsgi - Python
Формулировка задачи:
У меня на хостинге VPS уже установлена django+apache и оно работает. Надо перенастроить на работу с flask. Не получается.
У меня нет доступа к конфигу апача, но на хостинге написано, что директива WSGIScriptAlias имеет такой вид:
В директории уже лежал index.wsgi файл. Я его просто меняю на следующее содержимое
Ну и в той же корневой директории размещаю файл myproject.py с содержимым
В итоге оно не работает и выдает Internal Server Error и т.д. смотрите типа в логах (к которым у меня доступа нет).
Есть доступ по ssh. Пакет flask я там установил с помощью pip.
Вот еще на хостинге пишут
Первоначальное содержимое index.wsgi было таким
Если обращаться в тех.поддержку, то что спрашивать?
WSGIScriptAlias / /home/e/example/site1/index.wsgi
Листинг программы
- from myproject import application
- if __name__ == "__main__":
- application.run()
Листинг программы
- from flask import Flask
- application = Flask(__name__)
- @application.route("/")
- def hello():
- return "<h1 style='color:blue'>Hello There!</h1>"
- if __name__ == "__main__":
- application.run()
Используется mod_wsgi в режиме daemon. Для того, чтобы перезапустить свое приложение, достаточно обновить файл index.wsgi. Например, можно просто выполнить команду в консоли ssh:
# cd /home/e/example/site1/
# touch index.wsgi
Листинг программы
- import os
- import sys
- import time
- import traceback
- import signal
- activate_this = '/home/s/spyphyru/.virtualenv/bin/activate_this.py'
- with open(activate_this) as f:
- code = compile(f.read(), activate_this, 'exec')
- exec(code, dict(__file__=activate_this))
- sys.path.insert(1,'/home/s/spyphyru/proger.site/')
- import django
- if django.VERSION[1] <= 6:
- os.environ['DJANGO_SETTINGS_MODULE'] = 'default_settings'
- import django.core.handlers.wsgi
- application = django.core.handlers.wsgi.WSGIHandler()
- else:
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "default_settings")
- from django.core.wsgi import get_wsgi_application
- try:
- application = get_wsgi_application()
- except RuntimeError:
- traceback.print_exc()
- os.kill(os.getpid(), signal.SIGINT)
- time.sleep(2.5)
Решение задачи: «Flask и apache настройка wsgi»
textual
Листинг программы
- import os
- import sys
- import time
- import traceback
- import signal
- activate_this = '/home/s/spyphyru/.virtualenv/bin/activate_this.py'
- with open(activate_this) as f:
- code = compile(f.read(), activate_this, 'exec')
- exec(code, dict(__file__=activate_this))
- sys.path.insert(1,'/home/s/spyphyru/test.proger.site')
- from myproject import application
- if __name__ == "__main__":
- application.run(debug=True, port=8000)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д