WSGI je zkratka pro „Web Server Gateway Interface“, které poskytuje standardní a efektivní způsob komunikace dynamických webových aplikací s webovými servery. Používá se pro nasazení aplikací napsaných v Django, Web.py, Werkzug a Flask. Mod_wsgi zjednodušuje nasazení aplikace WSGI na webový server Apache. Mod_wsgi je modul webového serveru Apache, který lze použít k obsluze aplikací Python pomocí protokolu HTTP.
V tomto tutoriálu vám ukážeme, jak nainstalovat Apache s Python Mod_wsgi na Debian 10.
Předpoklady
- Nový Debian 10 VPS na cloudové platformě Atlantic.net
- Heslo uživatele root nakonfigurované na vašem serveru
Krok 1 – Vytvoření cloudového serveru Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Debian 10 s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte ke svému serveru Debian 10, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Krok 2 – Instalace Pythonu
Nejprve budete muset nainstalovat Python do vašeho systému. Můžete jej nainstalovat pouhým spuštěním následujícího příkazu:
apt-get install python3 libexpat1 -y
Jakmile je Python nainstalován, můžete přejít k dalšímu kroku.
Krok 3 – Nainstalujte Apache pomocí modulu mod_wsgi
Dále budete muset do vašeho systému nainstalovat balíček webového serveru Apache a modul mod_wsgi Python. Spusťte následující příkaz a nainstalujte je:
apt-get install apache2 apache2-utils ssl-cert libapache2-mod-wsgi -y
Jakmile jsou všechny balíčky nainstalovány, restartujte službu Apache, aby se změny projevily.
systemctl restart apache2
Krok 4 – Konfigurace Apache pomocí modulu mod_wsgi
Nejprve budete muset vytvořit skript Python v kořenovém adresáři webu Apache. Můžete jej vytvořit pomocí následujícího příkazu:
nano /var/www/html/wsgi.py
Přidejte následující řádky:
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 Apache with mod_wsgi \n' \
'</div>\n' \
'</body>\n' \
'</html>\n'
response_header = [('Content-type','text/html')]
start_response(status,response_header)
return [html]
Po dokončení uložte a zavřete soubor.
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache, který bude sloužit skriptu Python s protokolem HTTP.
Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/apache2/conf-available/mod-wsgi.conf
Přidejte následující řádek:
WSGIScriptAlias /wsgi /var/www/html/wsgi.py
Uložte a zavřete soubor. Poté aktivujte konfiguraci virtuálního hostitele pomocí následujícího příkazu:
a2enconf mod-wsgi
Poté restartujte službu Apache, aby se změny projevily.
systemctl restart apache2
Krok 5 – Ověřte aplikaci mod_wsgi
Nyní otevřete svůj webový server a navštivte adresu URL http://ip-vaseho-serveru/wsgi. Budete přesměrováni na následující obrazovku:

Závěr
Gratulujeme! Úspěšně jste nasadili aplikaci Python s mod_wsgi a Apache v Debianu 10. Snadno nasaďte aplikaci Python v produkčním prostředí na svém hostingovém účtu VPS od Atlantic.Net.