bron: https://www.electromaker.io/tutorial/blog/how-to-make-a-raspberry-pi-python-web-server
Inhoud - Voorbereiding - Installatie - Pagina's aanmaken - Service maken
Voorbereiding
Maak deze mappen structuur aan bijvoorbeeld in homedirectory.mkdir /home/pi/webserver mkdir /home/pi/webserver/statics mkdir /home/pi/webserver/templates
Installeer Python Flask. sudo apt-get install python3-flask
Maak ‘webserver.py‘ aan. nano /home/pi/webserver/webserver.py
Zet onderstaande er in. from flask import Flask, render_template
app = Flask(name) @app.route('/')
def index(): return render_template('index.html') @app.route('/test_py') def test(): return 'Raspberry Pi!' @app.route('/test') def test(): return render_template('test/index.html') if name == 'main': app.run(debug=True, host='0.0.0.0')
CTRL+X
Maak webpagina aan. nano /home/pi/webserver/templates/index.html
Zet onderstaande er in.<html><head></head><body><h1>Raspberry Pi: Python3 WebServer</h1><hr>Bestandslocatie: /home/pi/webserver<hr> <a href=test_py>In webserver.py</a><br> <a href=test>Verwijzing naar HTML bestand</a><br></body></html>
Maak configuratie bestand (css) aan. nano /home/pi/webserver/static/style.css
Zet onderstaande er in.body { background: green; color: black;}
In de map templates kun jij je html pagina’s neerzetten. In het geval zoals hierboven beschreven staat,kun maak je deze aan ‘/home/pi/webserver/templates/test/index.html’.
Je kunt de webserver handmatig starten door dit in te type:python3 webserver.py
Services makennano /home/pi/webserver/start.sh
Inhoud #!/bin/bash python3 /home/pi/webserver/webserver.py
CTRL+X nano /home/pi/webserver/stop.sh
Inhoud#!/bin/bash for KILLPID in `ps ax | grep ‘webserver’ | awk ‘{print $1;}’`; dokill -9 $KILLPID;
CTRL+X
Bestanden uitvoerbaar maken.chmod a+x /home/pi/webserver/st*nano /etc/systemd/system/python_web.service
Inhoud [Unit]Description=python webserver serviceAfter=network.target [Service]Type=simpleExecStart=/bin/bash /home/pi/webserver/start.shExecStop=/bin/bash /home/pi/webserver/stop.shRestart=alwaysRestartSec=5TimeoutSec=60RuntimeMaxSec=infinityPIDFile=/tmp/nome_script.pid [Install]WantedBy=multi-user.target
CTRL+X sudo systemctl enable /etc/systemd/system/python_web.servicesudo systemctl daemon-reloadsudo service python_web start