Beim Erstellen und Veröffentlichen einer einfachen Anwendung mit Python lautet der Webserver Apache und das Webanwendungsframework [flask](https: //flask.palletsprojects). Ich denke, die Kombination von com / en / 1.1.x /) ist üblich. Und WSGI (Web Server Gateway Interface), das Apache und Flask verbindet, verwendet mod_wsgi.
Erstellen Sie eine EC2-Instanz in AWS, installieren Sie Apache und führen Sie die in flask geschriebene App aus! Ich habe auch mod_wsgi installiert, also sollte es gut funktionieren! Ich habe nachgedacht, aber manchmal bekomme ich folgenden Fehler:
mod_wsgi (pid=8711): Target WSGI script '/var/www/xxx/xxx.wsgi' cannot be loaded as Python module.
mod_wsgi (pid=8711): Exception occurred processing WSGI script '/var/www/xxx/xxx.wsgi'.
Warum hast du mod_wsgi installiert? Die Schlussfolgerung ist jedoch, dass mod_wsgi, das von yum install mod_wsgi
installiert wurde, alt und nur mit der Python 2-Serie kompatibel ist (im Fall des Betriebssystems der Cent OS-Serie).
Wenn Sie also mod_wsgi mit yum install mod_wsgi
installiert haben, müssen Sie es mit yum remove mod_wsgi
deinstallieren. Wenn Sie danach über pip wie pip install mod_wsgi
installieren, können Sie mod_wsgi entsprechend der Python3-Serie installieren.
Wenn Sie beispielsweise eine virtuelle Python 3.7-Umgebung mit "venv" erstellen, können Sie den obigen Befehl pip ausführen.
$VENVHOME/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so
Am Speicherort wird eine gemeinsam genutzte Bibliotheksdatei von mod_wsgi erstellt. Wenn Sie dann Folgendes in die Apache conf-Datei schreiben, wird mod_wsgi entsprechend Python3 ausgeführt.
LoadModule wsgi_module $VENVHOME/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so
Glückwunsch Glückwunsch. Trotzdem gibt es viele Fallstricke in Bezug auf die Python-Version ...