База знаний
Центр поддержки хостинга > Служба поддержки хостинг проектов > База знаний

Как подключить Wsgi Python App приложения на примере Flask

Решение

WSGI — стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера и самим веб-сервером, например Apache.

Идея:

В Python существует большое количество различного рода веб-фреймворков, тулкитов и библиотек. Для каждого из них собственный метод установки и настройки, они не умеют взаимодействовать между собой. Это может стать затруднением для тех, кто только начинает изучать Python, так как, например, выбор определённого фреймворка может ограничить выбор веб-сервера и наоборот.

WSGI предоставляет простой и универсальный интерфейс между большинством веб-серверов и веб-приложениями или фреймворками.

Более подробно http://lectureswww.readthedocs.io/5.web.server/wsgi.html

Полную инструкцию как поставить Django  смотрите тут.

Мы попробуем настроить Python для модуля Flask

Для начала установки, войдите в  cPanel и найдите ссылку для установки/развертывания приложений Python. 

 

Вы должны увидеть версию Python. Настройте App Directory (каталог для приложений), чтобы указать, где должен находиться ваш код, в данном случае: public_html/exampleapppython. Настройте App URI (URI приложения), где вы хотите, чтобы ваше приложение было доступно, в данном случае "exampleapppython".

На рисунке выше показан результат нажатия кнопки "setup": было создано приложение, указывающее на файл python (в данном случае myapp.py) которые вы можете редактировать.

Один из важных шагов, оставшихся здесь, это добавить модуль Flask, Найдите" Flask " и добавьте его.

Если вы начали с нуля, используя cPanel, приложение было бы создано в указанном каталоге приложений, который Вы указали с похожей структурой

/public
myapp.py
passenger_wsgi.py
.htaccess

Если вы указали свой Каталог приложений (App Directory) на существующее приложение, скрипт cPanel добавит только passenger_wsgi.py файл и .htaccess file файл.

 

"public"каталог используется для активов, "myapp.py" file-ваша точка входа в приложение, "passenger_wsgi.py" это скрипт, рассказывающий passenger'у, как интерпретировать ваше приложение и какой файл использовать для обслуживания ваших запросов, файл "htaccess" сообщает Apache URI приложения, Каталог приложений (App Directory) и версию Python (расположение), настроенную в cPanel.

Приложение Flask 

Приложение Flask очень простое, но я добавил волшебную линию, которая делает еще проще работу Flask ((application = app). Сценарий passenger_wsgi будет искать код приложения в переменной под названием "application", а не "app", как используется в Flask при его разработке.

from flask import Flask
app = Flask(__name__)
application = app # наш хостинг требует применения в passenger_wsgi
 
@app.route("/")
def hello():
    return "This is Hello World!\n"
 
if __name__ == "__main__":
    app.run()

 

Файл Passenger WSGI

Этот файл, созданный cPanel также довольно прост, он будет загружать "myapp.py источник и передать его passenger'у в "application" объекта. Да, я слышу ваш вопрос: "почему я просто не использовал "app" здесь вместо создания избыточного объекта "application" в myapp.py"?. Потому что однажды, когда по пьяни вы снова запустите этот скрипт в cPanel, который перезапишет этот файл, вы вырвите себе все волосы, пытаясь понять, почему вы продолжаете получать ошибку "application doesn't exist (приложения не существует)".

import imp
import os
import sys
 
sys.path.insert(0, os.path.dirname(__file__))
 
wsgi = imp.load_source('wsgi', 'myapp.py')
application = wsgi.application

Файл .htaccess

Наконец, файл, который говорит Apache, что это приложение Python, где он находиться и где можно найти Python .

.htaccess

PassengerAppRoot "/home/roberto/public_html/exampleapppython"
PassengerBaseURI "/exampleapppython"
PassengerPython "/home/roberto/virtualenv/public__html_exampleapppython/2.7/bin/python2.7"

Резюме

Войдите в cPanel, найдите ссылку "Настройка Python приложений", настройте свой URI и расположение приложения, нажмите "setup", установите нужные модули, например модуль" Flask". Это создаст базовое приложение. Создайте приложение Flask и привяжите его к "application". Вы закончили!

 

 

Оригинал

Еще полезная ссылка по теме https://blog.ouseful.info/2016/09/17/creating-a-simple-python-flask-app-running-on-reclaim-hosting/

 
Была ли эта статья полезной? да / нет
Относящиеся статьи Как установить Python/Django в Wsgi Python App
Как подключить NodeJS
Как запускать Python скрипты?
Как сменить версию PHP
Мобильные приложения cPanel
Детали статьи
Идентификатор статьи: 69
Категория: Языки программирования
Дата добавления: 2018-04-28 17:47:38
Просмотры: 356
Рейтинг (Голоса): Статья еще не получила оценку (0)

 
« Назад

 
Powered by Help Desk Software HESK, in partnership with SysAid Technologies

Подключайтесь в нашу группу VKontakte Подключайтесь в нашу группу Facebook Подключайтесь в наш канал Telegram Все секреты Доменов, Хостинга, Сайтов и IT Бизнеса.