Voraussetzungen
- Ein Vultr-Server, auf dem Arch Linux auf dem neuesten Stand ist (siehe diesen Artikel ).
- Ein laufender Webserver, entweder Apache oder Nginx
- Sudo-Zugang:
- Befehlen, die als root ausgeführt werden müssen, wird ein Präfix vorangestellt
#
. Die empfohlene Methode zum Ausführen von Befehlen als Root besteht darin, jedem von ihnen als regulärer Benutzer ein Präfix voranzustellensudo
- Lassen Sie einen Texteditor installieren und machen Sie sich mit ihm vertraut, z. B. vi, vim, nano, emacs oder einem ähnlichen Editor
Installieren Sie Python 3.7 auf Ihrem Webserver
Auf Apache
Leider wird es nicht unterstützt, beide Versionen von Apache-Modulen (für Python 2.x und 3.x) gleichzeitig auf demselben Arch-System auszuführen, dies ist jedoch selten ein Problem.
So verwenden Sie Python 3.x:
# pacman -S mod_wsgi
Aktivieren Sie das Apache- mod_wsgi
Modul durch Bearbeiten /etc/httpd/conf/httpd.conf
und LoadModule
fügen Sie am Ende der Befehlsliste Folgendes hinzu:
LoadModule wsgi_module modules/mod_wsgi.so
Auf Nginx
So verwenden Sie Python 3.x:
# pacman -S uwsgi-plugin-python
Testen Sie Python
Erstellen Sie im entsprechenden Verzeichnis test.py
den folgenden Inhalt:
#-*- coding: utf-8 -*-
def wsgi_app(environment, start_response):
import sys
output = sys.version.encode('utf8')
status = '200 OK'
headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, headers)
yield output
application = wsgi_app
Auf Apache
Am Ende /etc/httpd/conf/httpd.conf
hinzufügen oder wenn Sie mehrere Hosts ausführen, bearbeiten Sie die entsprechende Konfigurationsdatei und fügen Sie den entsprechenden <VirtualHost>
Block hinzu:
WSGIScriptAlias /wsgi_app /srv/http/test.py
Starten Sie Apache neu:
# systemctl restart httpd
Besuchen http://YOUR-SERVER-WEB-ADDRESS-OR-IP/wsgi_app
Sie in einem Webbrowser, und Sie sehen eine Testseite mit den Python- und GCC-Versionen.
Löschen test.py
Sie die soeben erstellte Testdatei und die WSGIScriptAlias
in Ihrer Apache-Konfiguration.
Starten Sie Apache neu:
# systemctl restart httpd
Auf Nginx
Erstellen Sie die Datei /etc/uwsgi/wsgi_app.ini
mit folgendem Inhalt:
[uwsgi]
socket = /run/uwsgi/wsgi_app.sock
uid = http
gid = http
plugins = python
chdir = /usr/share/nginx/html/
wsgi-file=test.py
callable = application
Starten Sie die uWSGI-Bereitstellung wsqi_app
:
# systemctl start uwsgi@wsgi_app
Erlauben Sie Nginx, uWSGI durch Bearbeiten zu verwenden /etc/nginx/nginx.conf
, und fügen Sie für jeden Serverblock , den Sie testen möchten, Folgendes hinzu. Wenn Sie virtuelle Hosts verwenden, bearbeiten Sie alternativ die Konfigurationsdatei jedes Hosts:
location ~ \wsgi_app {
root /usr/share/nginx/html/;
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/wsgi_app.sock;
}
Starten Sie Nginx neu:
# systemctl restart nginx
Besuchen http://YOUR-SERVER-WEB-ADDRESS-OR-IP/wsgi_app
Sie in einem Webbrowser, und Sie sehen eine Testseite mit den Python- und GCC-Versionen.
Löschen Sie die test.py
Datei , die Sie gerade erstellt haben , und den Standort Block einfach hinzugefügt /etc/nginx/nginx.conf
für wsgi_app
.
Starten Sie Nginx neu:
# systemctl restart nginx
Stoppen Sie die uWSGI-Bereitstellung wsgi_app
:
# systemctl stop uwsgi@wsgi_app
Löschen Sie die soeben erstellten /etc/uwsgi/wsgi_app.ini
und test.py
Testdateien.