W poprzednim wpisie napisaliśmy skrypt serwera HTTP, który ma jedną wadę – nie uruchamia się automatycznie i nie dziala jako usługa.
Po kolei teraz przedstawię kroki jak skonfigurować usługę w linuxie.
- Skrypt: Mamy już skrypt startowy, pod nazwą web-server.py. Zapisujemy go w katalogu, w którym będzie przechowywany na stałe. Ja wkleiłem go do ścieżki /root/
- Uprawnienia do uruchamiania: w poprzednim wpisie nadaliśmy już te uprawnienia ale warto też wspomnieć o tym tutaj:
1 |
chmod +x web-server.py |
- Skrypt inicjalizacji: Debian korzysta z systemd. Przechodzimy zatem do katalogu /etc/systemd/system/ i tam tworzymy plik web-server.service. Nazwę usługi możesz wybrać inną 🙂 Przykład konfiguracji znajduje się poniżej
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[Unit] Description=Opis twojej usługi After=network.target [Service] ExecStart=/root/web-server.py WorkingDirectory=/root/ Restart=on-failure User=twoj_uzytkownik #ja użyłem użytkownika root Group=twoja_grupa # dla użytkownika root można tę pozycję usunąć [Install] WantedBy=multi-user.target |
- Uruchomienie usługi: Po utworzeniu usługi należy uruchomić skrypt i dodać go do systemu systemd
1 2 |
sudo systemctl start nazwa_serwisu sudo systemctl enable nazwa_serwisu |
Po wykonaniu tych kroków nasz serwer napisany w Pythonie powinien uruchomić się automatycznie po restarcie maszyny.