Co kdyby vám stačilo pouhých 8 řádků Pythonu na funkční webovou aplikaci? Žádný framework, žádný pip install, prostě nic navíc. V tomto článku vás krok za krokem provedeme tím, jak takový minimalistický Python web napsat, nasadit na VPS, schovat za Nginx jako reverzní proxy a zajistit, aby běžel trvale díky systemd. Po restartu serveru vám web naběhne sám – bez jediného zásahu.
TL;DR – O čem je tento článek
- Napíšeme jednoduchý Python HTTP server na pouhých 8 řádků kódu (bez frameworků).
- Nahrajeme ho na VPS přes WinSCP a nastavíme doménu ve VPS Centru.
- Nakonfigurujeme Nginx jako reverzní proxy (proxy_pass).
- Vytvoříme systemd službu, aby web běžel trvale – i po restartu serveru.
- Vše prakticky a srozumitelně – měli by to zvládnout jak začátečníci, tak i pokročilí.
Pro ty, kteří raději koukají na videa:
Co budete potřebovat
Než se pustíte do práce, připravte si tři věci:
- Virtuální server s VPS Centrem – pokud ho ještě nemáte, můžete si ho vyzkoušet na týden zdarma.
- WinSCP (nebo jiný správce souborů) – pro nahrávání souborů na server.
- PuTTY (nebo jiný terminálový program) – pro připojení k serveru přes SSH.
Freelo - Nástroj na řízení úkolů a projektů
Přidej se, pozvi svůj tým a klienty, rozděl práci a sleduj, jak se úkoly dají do pohybu.
Krok 1: Nastavení domény ve VPS Centru
Nejprve si přidejte doménu do VPS Centra. Po přihlášení do administrace zadejte svoji doménu a aktivujte webserver.
Volbu „Výstup“ můžete odškrtnout, tu taky nebudete potřebovat. Klikněte na „Přidat“ a počkejte, než se doména vytvoří.

Krok 2: Úprava Nginx konfigurace
Výchozí konfigurace počítá s klasickým PHP webem. Protože Python běží jako samostatná služba, musíme konfiguraci upravit:
- Smažte veškeré PHP-related bloky – nepotřebujete je.
- Odstraňte direktivu root – data se nebudou servírovat z adresáře, ale z proxy.
- Smažte původní location blok a nahraďte ho nastavením reverse proxy.

Výsledná klíčová direktiva bude vypadat takto:
proxy_pass http://127.0.0.1:8000;
Tím říkáme Nginx, aby veškerý příchozí provoz přesměroval na lokální port 8000, kde poběží náš Python server.
VPS Centrum
Vyzkoušejte zdarma naši aplikaci pro správu serveru a domén. Budete si připadat jako zkušený administrátor.
Krok 3: Python web na 8 řádků
Teď přichází ta nejzajímavější část. Otevřete si libovolný textový editor a vytvořte soubor server.py s následujícím obsahem:
from http.server import HTTPServer, BaseHTTPRequestHandler
class handler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(b'<h1>Ahoj z Pythonu!</h1>')
HTTPServer(('', 8000), handler).serve_forever()
To je celé. Osm řádků, které vytvoří plně funkční HTTP server na portu 8000. Když přijde GET požadavek, odpoví stavovým kódem 200 a načte jednoduchý HTML obsah.
Jak kód funguje?
- from http.server – importuje vestavěný HTTP modul Pythonu (žádná instalace).
- class handler – definuje, co se stane, když někdo navštíví váš web.
- do_GET – metoda, která zpracovává GET požadavky (= když někdo otevře stránku v prohlížeči).
- send_response(200) – pošle odpověď: vše OK.
- wfile.write – zapíše HTML obsah, který uživatel uvidí.
- HTTPServer(...).serve_forever() – spustí server na portu 8000.
Krok 4: Nahrání souboru na server
Otevřete WinSCP (nebo jakýkoli podobný program) a připojte se k serveru. Soubor server.py nahrajte do složky vaší domény – typicky do adresáře /opt/python-web/.
Pak se přepněte do PuTTY, přejděte do příslušného adresáře a spusťte:
python3 server.py
Po spuštění tohoto příkazu by měl server naslouchat jen portu 8000. Otevřete prohlížeč, zadejte svou doménu – a měli byste vidět: Ahoj z Pythonu!
Krok 5: Systemd služba pro trvalý běh
Aby web běžel i po zavření terminálu a po restartu serveru, vytvoříme systemd službu. Jde o konfigurační soubor, který řekne operačnímu systému: spusť tenhle program automaticky a drž ho v chodu.
Vytvoření service souboru
V terminálu vytvořte nový soubor:
nano /etc/systemd/system/python-web.service
Do souboru vložte:
[Unit]
Description=Python Web Server
After=network.target
[Service]
WorkingDirectory=/opt/python-web
ExecStart=/usr/bin/python3 server.py
Restart=always
[Install]
WantedBy=multi-user.target
Co jednotlivé direktivy znamenají?
- After=network.target – služba se spustí až po připojení k síti.
- WorkingDirectory – cesta k adresáři, kde leží server.py.
- ExecStart – příkaz, kterým se služba spouští.
- Restart=always – pokud služba spadne, systemd ji automaticky restartuje.
- WantedBy=multi-user.target – služba se spustí při běžném startu systému.
Aktivace služby
Po uložení souboru spusťte následující příkazy:
systemctl daemon-reload
systemctl enable python-web
systemctl start python-web
Tím se služba aktivuje, zapne při startu systému a okamžitě ji spustíte. Stav služby si můžete ověřit příkazem:
systemctl status python-web
Pokud vidíte stav active (running), máte hotovo. Váš Python web nyní běží na pozadí a přežije i restart celého serveru.
Krok 6: Ověření a SSL certifikát
Otevřete prohlížeč a zadejte svou doménu. Měli byste vidět odpověď z Python serveru. Pokud vše funguje, nezapomeňte v rámci VPS Centra aktivovat SSL certifikát (Let’s Encrypt), aby váš web běžel přes HTTPS.
Závěr: Jednoduchý základ, neomezené možnosti
To, co jsme právě vytvořili, je samozřejmě jen základ. Ale je to základ, na kterém můžete stavět cokoliv – od jednoduché landing page přes API endpoint až po kompletní webovou aplikaci s frameworky jako Flask nebo Django.
Podstatné je, že jste se naučili princip:
- Python aplikace běží jako samostatná služba na konkrétním portu.
- Nginx slouží jako reverzní proxy a přesměrovává provoz.
- Systemd zajišťuje, že aplikace běží trvale a automaticky se spustí po restartu.
Celý postup zvládnete za pár minut a nepotřebujete k tomu žádné externí knihovny ani frameworky. Stačí čistý Python, který je na každém Linux serveru předinstalovaný.
Co dál? Inspirujte se a posuňte to dál
Tohle byl základ – funkční web na pár řádcích. Ale co kdybyste chtěli víc? Přidejte k tomu vlastní API, napojte databázi nebo zkombinujte Python s moderním frameworkem jako Flask nebo FastAPI. Na VPS od Váš Hosting máte plnou kontrolu nad serverem, takže vás nic neomezuje.
A pokud Vás baví automatizace, podívejte se na náš návod, jak na VPS rozjet n8n – workflow automatizaci, která dokáže propojit aplikace, e-maily i API na jedno kliknutí.
Máte dotaz? Napište nám – rádi poradíme. Nebo se podívejte na další návody na našem blogu.