Jak zainstalować mod_wsgi?

33

Uruchomiłem następujące polecenia

sudo apt-get install libapache2-mod-wsgi
sudo a2enmod mod-wsgi

Ciągle otrzymuję ten niezwykle frustrujący przekaz

ERROR: Module mod-wsgi does not exist!

Proszę pomóż.

myusuf3
źródło
1
sudo a2enmod wyświetli listę zainstalowanych modułów. Po prostu włącz wsgi, jak powiedział ajmitch
sagarchalizuj

Odpowiedzi:

21

Użycie sudo a2enmod wsgipowinno włączyć moduł po ponownym załadowaniu apache, ponieważ większość modułów nie potrzebuje prefiksu mod_ podczas włączania ich.

ajmitch
źródło
próbowałem, sudo a2enmod wsgiale nawet wciąż otrzymuję ten sam błąd. Wpisałem sudo a2enmodi są to wybory dostałem dpaste.de/NEIcf nie zawiera wsgi. Czy mogę zadać to pytanie tutaj, czy muszę opublikować nowe pytanie?
Sam007,
15
sudo nano /etc/apache2/mods-available/wsgi.load

dodaj następny ciąg do pliku

LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so

zapisz więc

sudo a2enmod wsgi
sudo service apache2 restart
Valentin Kantor
źródło
I jak to przetestować?
Sören,
nie jestem pewien, czy jest jakiś test_mode_wsgiskrypt ... po prostu skieruj apache do aplikacji wsgi (sprawdź dokumentację swojego frameworka, jak to zrobić) i sprawdź, czy działa ..
Valentin Kantor
0

Spróbuj dodać wsgi.load i wsgi.conf z modów dostępnych do modów włączonych ręcznie, a następnie zrestartuj Apache.

Thomas Boxley
źródło
0

Ostrzeżenie WSGI

Oficjalna dokumentacja WSGI mówi:

Podczas korzystania ze środowiska wirtualnego Python z mod_wsgi bardzo ważne jest, aby zostało utworzone przy użyciu tej samej instalacji Python, dla której oryginalnie skompilowano mod_wsgi.

I wtedy:

Nie jest możliwe użycie wirtualnego środowiska Python do zmuszenia mod_wsgi do użycia innej wersji Python, a nawet innej instalacji Python . Innymi słowy, interpreter Pythona jest osadzony w mod_wsgi.

Dlatego nie polecałbym żadnego z prekompilowanych plików binarnych mod_wsgi, aptale zamiast tego możesz skompilować go zgodnie z oficjalnymi dokumentami instalacyjnymi .

Inna droga

Użyj https://gunicorn.org/ i Apache

ProxyPass / http://localhost:8000/

dyrektywa w konfiguracji virtualhost.

Dmytro Gierman
źródło
0

Krok 1: Poniższe polecenie zainstaluje moduł wgsi

sudo apt-get install libapache2-mod-wsgi

Krok 2: Aby włączyć moduł wsgi, uruchom następującą komendę

sudo a2enmod wsgi

Krok 3: Uruchom ponownie serwer Apache, uruchamiając

sudo systemctl restart apache2

Krok 4: Sprawdź, czy moduł jest załadowany

apache2ctl -t -D DUMP_MODULES   

PS: Używam Ubuntu 18.04 LTS

kragh-dev
źródło