Webserver auf Raspberry: Unterschied zwischen den Versionen

Aus FHEMWiki
(Entwurf)
 
K (so besser/sauberer)
 
(16 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Baustelle}}
Auf Raspberry-Systemen benötigt man oft einen Webserver. Zwar gibt es bereits Lösungen wie Apache2 oder Nginx, allerdings sind diese rechenzeit- und speicherintensiv. Oft wird auf kleinen Systemen wie dem RaspberryPi Zero eine Lösung gesucht, die ohne viel Ressourcen beispielsweise nur den Inhalt einer Datei via http ausliefert. Da bietet sich Gatling von Fefe an; diese Lösung soll hier vorgestellt werden.
 
Der folgende -völlig unfertige- Artikel wird Teil eines -Proof of Concept- einer Systemüberwachung. Das setzt voraus, dass die Clients ihren Status mitteilen - via http.
 
Auf Raspberry-Systemen benötigt man oft einen Webserver. Apache2 ist viel zu groß, es bietet sich Gating von Fefe an.


==Installation==
==Installation==
<source lang="html">
<syntaxhighlight lang="bash">
apt install gatling
apt install gatling
</source>
</syntaxhighlight>


Es muss sodann /lib/systemd/system/gatling.service erstellt werden:
Es muss sodann /lib/systemd/system/gatling.service erstellt werden:
<source lang="html">
<syntaxhighlight lang="html">
#!/bin/sh
#!/bin/sh


[Unit]
[Unit]
Description=Control gatling webserver
Description=Control gatling webserver
After=network.target
After=networking.target


[Service]
[Service]
Zeile 25: Zeile 21:
[Install]
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target
</source>
</syntaxhighlight>


Danach muss diese Datei noch verlinkt werden:
Danach muss diese Datei noch verlinkt werden:
<source lang="html">
<syntaxhighlight lang="bash">
cd /etc/systemd/system/multi-user.target.wants/
cd /etc/systemd/system/multi-user.target.wants/
ln -s gatling.service /lib/systemd/system/gatling.service
ln -s /lib/systemd/system/gatling.service gatling.service
</source>
</syntaxhighlight>
 
In /etc/default/gatling müssen die Kommentarzeichen vor den Zeilen
<syntaxhighlight lang="bash">
START_DAEMON="YES"
DAEMON="gatling"
</syntaxhighlight>
entfernt werden.
 
Und nun starten:
<syntaxhighlight lang="bash">
# systemctl unmask gatling
# systemctl restart gatling
# systemctl enable gatling
</syntaxhighlight>


(Der Autor hat Zugriffsrechte nicht geprüft. Idealerweise sollten nun Dateien aus /var/www/ ausgeliefert werden.)
(Der Autor hat Zugriffsrechte nicht geprüft. Idealerweise sollten nun Dateien aus /var/www/ ausgeliefert werden.)
==Alternativen==
Im Forum wurden in {{Link2Forum|Topic=98295|LinkText=diesem Thread}} eine Vielzahl an Alternativen für kleine, leichtgewichtige Webserver genannt. Insbesondere sei auf die Listen unter https://gist.github.com/willurd/5720255 sowie https://www.pcsuggest.com/best-lightweight-web-server-linux/ verwiesen.
[[Kategorie:Raspberry Pi]]
[[Kategorie:HOWTOS]]

Aktuelle Version vom 24. Februar 2024, 22:17 Uhr

Auf Raspberry-Systemen benötigt man oft einen Webserver. Zwar gibt es bereits Lösungen wie Apache2 oder Nginx, allerdings sind diese rechenzeit- und speicherintensiv. Oft wird auf kleinen Systemen wie dem RaspberryPi Zero eine Lösung gesucht, die ohne viel Ressourcen beispielsweise nur den Inhalt einer Datei via http ausliefert. Da bietet sich Gatling von Fefe an; diese Lösung soll hier vorgestellt werden.

Installation

apt install gatling

Es muss sodann /lib/systemd/system/gatling.service erstellt werden:

#!/bin/sh

[Unit]
Description=Control gatling webserver
After=networking.target

[Service]
Type=simple
ExecStart=/usr/bin/gatling -u www-data -V -F -S -D -c /var/www/
ExecReload=/bin/kill $MAINPID && /usr/bin/gatling -u www-data -V -F -S -D -c /var/www/

[Install]
WantedBy=multi-user.target

Danach muss diese Datei noch verlinkt werden:

cd /etc/systemd/system/multi-user.target.wants/
ln -s /lib/systemd/system/gatling.service gatling.service

In /etc/default/gatling müssen die Kommentarzeichen vor den Zeilen

START_DAEMON="YES"
DAEMON="gatling"

entfernt werden.

Und nun starten:

# systemctl unmask gatling
# systemctl restart gatling
# systemctl enable gatling

(Der Autor hat Zugriffsrechte nicht geprüft. Idealerweise sollten nun Dateien aus /var/www/ ausgeliefert werden.)

Alternativen

Im Forum wurden in diesem Thread eine Vielzahl an Alternativen für kleine, leichtgewichtige Webserver genannt. Insbesondere sei auf die Listen unter https://gist.github.com/willurd/5720255 sowie https://www.pcsuggest.com/best-lightweight-web-server-linux/ verwiesen.