Поиск по сайту:

Как запускать скрипты Python с Apache и mod_wsgi в Ubuntu 20.04


Это руководство существует для этих версий ОС

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 20.04 (Focal Fossa)

На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить Python
  4. Установите Apache и mod_wsgi.
  5. Настройка Apache для mod_wsgi
  6. Протестировать mod-wsgi
  7. Заключение

mod_wsgi — это модуль Apache, предоставляющий интерфейс для размещения веб-приложений на основе Python под Apache. Он подходит для использования при размещении высокопроизводительных производственных веб-сайтов, а также обычных личных сайтов с самостоятельным управлением, работающих на веб-хостингах. Вы можете легко развертывать приложения, написанные с помощью таких фреймворков и инструментов, как Django, Web.py, Werkzug, Chery.py, TurboGears и Flask, используя mod_wsgi.

В этом руководстве мы узнаем, как установить и настроить mod_wsgi с сервером Apache на сервере Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04.
  • Пароль root настраивается на сервере.

Начиная

Перед запуском рекомендуется обновить систему до последней версии. Вы можете обновить свою систему с помощью следующей команды:

apt-get update -y
apt-get upgrade -y

После обновления системы перезапустите ее, чтобы изменения вступили в силу.

Установить Python

По умолчанию Python предустановлен на сервере Ubuntu 20.04. Если он не установлен, вы можете установить его с помощью следующей команды:

apt-get install python3 libexpat1 -y

После завершения установки можно переходить к следующему шагу.

Установите Apache и mod_wsgi.

Затем вам нужно будет установить веб-сервер Apache и модуль Python mod_wsgi в вашей системе. Вы можете установить их, выполнив следующую команду:

apt-get install apache2 apache2-utils ssl-cert libapache2-mod-wsgi -y

После установки всех пакетов можно переходить к следующему шагу.

Настройте Apache для mod_wsgi

Затем вам нужно создать новый скрипт Python в корневом веб-каталоге Apache по умолчанию и обслуживать его через модуль Apache mod_wsgi.

Вы можете создать его с помощью следующей команды:

nano /var/www/html/wsgy.py

Добавьте следующие строки:

def application(environ,start_response):
    status = '200 OK'
    html = 'html>\n' \
           '<body>\n' \
           '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \
           'Welcome to mod_wsgi Test Page\n' \
           '</div>\n' \
           '</body>\n' \
           '</html>\n'
    response_header = [('Content-type','text/html')]
    start_response(status,response_header)
    return [html]

Сохраните и закройте файл. Затем измените владельца файла на www-data с помощью следующей команды:

chown www-data:www-data /var/www/html/wsgy.py

Затем создайте файл конфигурации виртуального хоста Apache для обслуживания этого файла по протоколу HTTP.

nano /etc/apache2/conf-available/wsgi.conf

Добавьте следующую строку:

WSGIScriptAlias /wsgi /var/www/html/wsgy.py

Сохраните и закройте файл. Затем включите конфигурацию mod-wsgi и перезапустите службу Apache с помощью следующей команды:

a2enconf wsgi
systemctl restart apache2

Тестовый мод-wsgi

На этом этапе веб-сервер Apache настроен для обслуживания вашего файла Python по протоколу HTTP.

Чтобы проверить это, откройте веб-браузер и введите URL-адрес http://your-server-ip/wsgi. Вы должны увидеть тестовую страницу mod-wsgi на следующем экране:

Заключение

Поздравляем! вы успешно развернули скрипт Python на веб-сервере Apache с помощью модуля mod_wsgi на сервере Ubuntu 20.04. Я надеюсь, что теперь вы можете легко развернуть любое приложение Python с Apache и mod_wsgi в производственной среде.