mod_wsgi je modul Apache, který poskytuje rozhraní pro hostování webových aplikací založených na Pythonu pod Apache. Je vhodný pro použití při hostování vysoce výkonných produkčních webových stránek, stejně jako vašich průměrně samostatně spravovaných osobních stránek běžících na webhostingových službách. Pomocí mod_wsgi můžete snadno nasadit aplikace napsané pomocí rámců a nástrojů jako Django, Web.py, Werkzug, Chery.py, TurboGears a Flask.
V tomto tutoriálu se naučíme, jak nainstalovat a nastavit mod_wsgi se serverem Apache na serveru Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Než začnete, je dobré aktualizovat systém na nejnovější verzi. Svůj systém můžete aktualizovat pomocí následujícího příkazu:
apt-get update -y
apt-get upgrade -y
Po aktualizaci systému jej restartujte, aby se změny implementovaly.
Instalovat Python
Ve výchozím nastavení je Python předinstalovaný na serveru Ubuntu 20.04. Pokud není nainstalován, můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install python3 libexpat1 -y
Po dokončení instalace můžete přejít k dalšímu kroku.
Instalovat Apache a mod_wsgi
Dále budete muset nainstalovat webový server Apache a modul mod_wsgi Python do vašeho systému. Můžete je nainstalovat spuštěním následujícího příkazu:
apt-get install apache2 apache2-utils ssl-cert libapache2-mod-wsgi -y
Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.
Konfigurovat Apache pro mod_wsgi
Dále musíte vytvořit nový skript Python ve výchozím webovém kořenovém adresáři Apache a obsluhovat jej prostřednictvím modulu mod_wsgi Apache.
Můžete jej vytvořit pomocí následujícího příkazu:
nano /var/www/html/wsgy.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 mod_wsgi Test Page\n' \ '</div>\n' \ '</body>\n' \ '</html>\n' response_header = [('Content-type','text/html')] start_response(status,response_header) return [html]
Uložte a zavřete soubor. Poté změňte vlastnictví souboru na www-data pomocí následujícího příkazu:
chown www-data:www-data /var/www/html/wsgy.py
Dále vytvořte konfigurační soubor virtuálního hostitele Apache, který bude tento soubor obsluhovat přes protokol HTTP.
nano /etc/apache2/conf-available/wsgi.conf
Přidejte následující řádek:
WSGIScriptAlias /wsgi /var/www/html/wsgy.py
Uložte a zavřete soubor. Poté povolte konfiguraci mod-wsgi a restartujte službu Apache pomocí následujícího příkazu:
a2enconf wsgi
systemctl restart apache2
Test mod-wsgi
V tomto okamžiku je webový server Apache nakonfigurován tak, aby obsluhoval váš soubor Python přes protokol HTTP.
Chcete-li to otestovat, otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru/wsgi. Na následující obrazovce byste měli vidět testovací stránku mod-wsgi:
Závěr
Blahopřejeme! úspěšně jste nasadili skript Python přes webový server Apache pomocí modulu mod_wsgi na serveru Ubuntu 20.04. Doufám, že nyní můžete snadno nasadit jakoukoli aplikaci Python s Apache a mod_wsgi v produkčním prostředí.