wiki:python_systemd

wpis w: Baszarek, Najnowsze odcinki | 0

Pliki aplikacji znajdują się w katalogu /home/lukasz/magazyn/tkinter, gdzie jest również utworzony virtualenv.

[Unit] Description=Notebook tkinter

[Service]

# Aplikacja dziala na uzytkowniku book.
User=book

# Przekierowanie komunikatow aplikacji bezposrednio do journald.
Environment=PYTHONUNBUFFERED=1

# Ustawienie pythonowego virtualenv.
Environment=VIRTUALENV=/home/lukasz/magazyn/tkinter
Environment=PYTHONPATH=$VIRTUALENV/lib:$PYTHONPATH

# PATH nie rozumie zmiennych, wiec trzeba podac pelne sciezki.
Environment=PATH=/home/lukasz/magazyn/tkinter/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# To musi byc pelna sciezka, bez uzywania zmiennych.
WorkingDirectory=/home/lukasz/magazyn/tkinter/app

# Start aplikacji (musi zawierac pelna sciezke).
ExecStart=/home/lukasz/magazyn/tkinter/bin/jupyter notebook –no-browser –ip 0.0.0.0 –port 8010 –NotebookApp.token=” –NotebookApp.terminals_enabled=False –NotebookApp.base_project_url=’/tkinter’

# Automatyczny restart aplikacji po awarii z opoznieniem 20 sekund,
# aby uniknac obciazenia CPU w razie nieudanych uruchomien.
Restart=always
RestartSec=20

# Powiadomienie systemd o uruchomieniu aplkacji.
Type=simple

# Plir z numerem ID procesu.
PIDFile=/var/run/book-tkinter.pid

[Install]

# Autostart aplikacji.
WantedBy=default.target

Następny krok to utworzenie proxypass w Apache.

Więcej…

Oryginalny wpis: wiki:python_systemd