- cd ~/
- mkdir http
- cd http/
- python3 -m http.server --cgi 8000
Zum Testen kann man im http-Ordner eine einfache Web-Seite mit dem Namen "index.html" speichern.
Code: Alles auswählen
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Einfache Webseite</title>
</head>
<body>
<!-- Sichtbarer Dokumentinhalt im body -->
Hallo dieser Text wird von Webserver zuerst angezeigt
</body>
</html>
- nohup python3 ~/http/web-server.py > server.log 2>&1 &
Code: Alles auswählen
import http.server
import socketserver
PORT = 8000 # Port des Webservers
DIRECTORY = "/home/pi/http" # Webverzeichnis im Homedir Achtung ev anpassen
CGI_DIR = "/cgi-bin" # CGI-Skripte müssen hier liegen
class Handler(http.server.CGIHTTPRequestHandler):
cgi_directories = [CGI_DIR] # CGI aktivieren für diesen Ordner
# Starte den Server mit HTTPServer statt TCPServer
with http.server.HTTPServer(("", PORT), Handler) as httpd:
print(f"CGI Webserver läuft auf Port {PORT}")
httpd.serve_forever()
PS. im http-Ordner kann man noch den Ordner "cgi-bin" https://aspweb.ch/forum/viewtopic.php?t ... a151e94225 erstellen und in diesem Pythonprogramme platzieren, welche per webbroser gestartet werden können.
Der Nachteil ist, dass dieser Webserver nach einem Neustart des Severs nicht wieder automatisch gestartet wird.
Mit folgenden Befehlen kann man jedoch den Webserver permanent installieren:
- sudo nano /etc/systemd/system/webserver.service
Code: Alles auswählen
[Unit]
Description=Mein Python-Webserver
After=network.target
[Service]
ExecStart=/usr/bin/python3 /home/pi/http/web-server.py
WorkingDirectory=/home/pi/http
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
- sudo systemctl daemon-reload
- sudo systemctl enable webserver
- sudo systemctl start webserver
- sudo systemctl status webserver
Achtung: Bitte den Home-Ordner beachten, in meinem Beispiel "pi", bei dir sehr wahrscheinlich anderer Name!