Минимальная конфигурация Apache для развертывания фляжного приложения (Ubuntu 18.04)

Введение

Апачи HTTP-сервер (обычно называемый просто Apache) является быстрым и безопасным и работает более чем на половине всех веб-серверов по всему миру.
Apache — это бесплатное программное обеспечение, распространяемое организацией Apache Software Foundation, которая продвигает различные бесплатные передовые веб-технологии с открытым исходным кодом.

mod_wsgi представляет собой модуль HTTP-сервера Apache, разработанный Грэмом Дамплтоном, который обеспечивает WSGI совместимый интерфейс для размещения веб-приложений на основе Python под Apache.
Примечание: Мы будем использовать python3.6 для разработки, поэтому мы должны установить mod_wsgi (py3)

Колба — популярная веб-инфраструктура Python, то есть сторонняя библиотека Python, используемая для разработки веб-приложений.

Продолжайте читать дальше, чтобы узнать об интеграции всех трех из них для достижения преимуществ Apache в вашем веб-приложении flask…

Требования

  1. апач2
  2. mod_wsgi (для python3)
  3. колба

Инструкция по установке

  1. Установить Апач

судо подходящее обновление
sudo apt установить apache2

  1. Установить mod_wsgi
    для питона 3.6 (предпочтительнее)

sudo apt-get установить libapache2-mod-wsgi-py3 python-dev

для питона 2.7

sudo apt-get установить libapache2-mod-wsgi-py python-dev

  1. Установить флягу или требования.txt
    (Предполагая, что у вас установлен pip3.6)

pip3.6 установить колбу
pip3.6 install -r requirements.txt # если у вас есть несколько требований для установки

Проверьте браузер, если он работает под управлением Apache

apache2 -f /etc/apache2/apache2.conf -k начать

apache_localhost.png

Давайте создадим наше фляжное приложение

Давайте создадим вложенный каталог с именем ExampleFlask в домашнем каталоге (местоположение может быть любым)

mkdir -p ~/ExampleFlask/ExampleFlask

Добавьте ниже 3 файла во внутренний каталог ExampleFlask

  1. __init__.py
    Пустой файл

  2. my_flask_app.py

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello world!"
if __name__ == "__main__":
    app.run()
  1. my_flask_app.wsgi
  • Имя вышеуказанного файла wsgi должно совпадать с именем фляжного приложения.
  • Добавьте строку shebang, чтобы указать, какой интерпретатор использовать.
#! /usr/bin/python3.6

import logging
import sys
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, '/home/username/ExampleFlask/ExampleFlask')
from my_flask_app import app as application
application.secret_key = 'anything you wish'

Давайте создадим файл конфигурации для нашего фляжного приложения.

vim /etc/apache2/сайты-доступны/ExampleFlask.conf

<VirtualHost *:80>
     # Add machine's IP address (use ifconfig command)
     ServerName 192.168.1.103
     # Give an alias to to start your website url with
     WSGIScriptAlias /testFlask /home/username/ExampleFlask/ExampleFlask/my_flask_app.wsgi
     <Directory /home/username/ExampleFlask/ExampleFlask/>
     		# set permissions as per apache2.conf file
            Options FollowSymLinks
            AllowOverride None
            Require all granted
     </Directory>
     ErrorLog ${APACHE_LOG_DIR}/error.log
     LogLevel warn
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Включите файл с помощью a2ensite:

sudo a2ensite /etc/apache2/sites-available/ExampleFlask.conf

Перезапустите апач2

Таким образом, новые изменения могут вступить в силу.

apache2 -f /etc/apache2/apache2.conf -k остановить
apache2 -f /etc/apache2/apache2.conf -k начать

Проверьте браузер, работает ли Apache на IP-адресе вашего компьютера, указанном в конфигурации.

apache_default.png

Проверьте браузер, запускает ли он ваше фляжное приложение по IP-адресу вашего компьютера с префиксом /testFlask.

URL:

apache_flask_app_running.png

Поздравляем, мы успешно развернули фляжное приложение на Ubuntu 18.04.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *