Как запускать скрипты Python с Apache и mod_wsgi в Ubuntu 20.04
Это руководство существует для этих версий ОС
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 20.04 (Focal Fossa)
На этой странице
- Предпосылки
- Начало работы
- Установить Python
- Установите Apache и mod_wsgi.
- Настройка Apache для mod_wsgi
- Протестировать mod-wsgi
- Заключение
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 в производственной среде.