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;}’`; do
kill -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 service
After=network.target
[Service]
Type=simple
ExecStart=/bin/bash /home/pi/webserver/start.sh
ExecStop=/bin/bash /home/pi/webserver/stop.sh
Restart=always
RestartSec=5
TimeoutSec=60
RuntimeMaxSec=infinity
PIDFile=/tmp/nome_script.pid
[Install]
WantedBy=multi-user.target
CTRL+X sudo systemctl enable /etc/systemd/system/python_web.service
sudo systemctl daemon-reload
sudo service python_web start