Einleitung Hast du dich schon einmal gefragt, wie du einem Jetty-Server mehrere, verschiedene HTTPS-Zertifikate geben kannst? Einfaches Beispiel: Ein Raspberry-Pi, der von zwei Domains erreichbar sein soll? Möglicherweise hast du auch schon etwas in den Jetty-Dokumentationen zu SSL oder Virtual Hosts umgesehen, bist aber nicht daraus schlau geworden. Die Antwort ist ganz einfach! Du musst nichts konfigurieren. Du musst lediglich all deine Zertifikate in denselben Keystore legen. Alles andere funktioniert ganz von selbst.
Wer kennt das nicht, da hat man ein Python-Skript geschrieben, zum Beispiel einen kleinen Webserver in Flask, oder irgendein Test-Protokoll-Server mit Twisted. Diesen will man nun schnell auf einem Server oder Raspberry Pi starten, und ist durch unseren Post Systemctl Services unter Ubuntu auf den systemd-Geschmack gekommen. Das Python-Skript Folgendes schreibt man an den Anfang seines Python-Skripts. Wir nennen es hier jetzt mal main.py. #!/bin/sh -e "exec" "`dirname $0`/.env/bin/python" "$0" "$@" def start_server(): # .
#Ubuntu #Service #systemctl #Python #systemd #user #venv #virtualenv
Um ein Executeable als Service einzurichten, musst du unter /etc/systemd/system/ eine neue Datei erzeugen. Sinnvollerweise nennst du sie nach deinem Executable. Wollen wir zum Beispiel einen Nginx Webserver als Service einrichten, wäre der Name nginx.service. [Unit] Description=Nginx Webserver [Service] Type=simple ExecStart=/usr/bin/nginx [Install] WantedBy=multi-user.target Jetzt musst du deinen neuen Service nur noch aktivieren. sudo systemctl enable nginx.service Anschließend kannst du ihn starten. sudo systemctl start nginx.service