← Zpět na všechny články blogu

Jak nainstalovat Python na VPS a jak na něm rozjet jednoduchý web

Iveta Zlatníčková
Iveta Zlatníčková Aktualizováno 31. 3. 2026 – 7 min. čtení

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:

  1. Virtuální server s VPS Centrem –⁠⁠⁠⁠⁠⁠ pokud ho ještě nemáte, můžete si ho vyzkoušet na týden zdarma.
  2. WinSCP (nebo jiný správce souborů) –⁠⁠⁠⁠⁠⁠ pro nahrávání souborů na server.
  3. 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.

Důležité: Zvolte rovnou Nginx. Tady Apache nepotřebujete –⁠⁠⁠⁠⁠⁠ Python web poběží jako samostatná služba a Nginx ho bude obsluhovat přes reverzní proxy. Je to jednodušší a výkonnější varianta.

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ří.

Image

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.
Image

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! 

Ale pozor: jakmile PuTTY zavřete, server se vypne. Proto potřebujeme systemd.

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.

VPS Centrum vám to umožní nastavit na pár kliknutí – bez nutnosti ručně upravovat certifikáty.

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.

Tento postup funguje nejen pro Python, ale pro jakoukoliv aplikaci, která jede na HTTP portu – Node.js, Go, Rust a další.

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í.

Vyzkoušejte VPS na týden zdarma. Bez závazků, bez platební karty. Stačí se zaregistrovat a můžete si vyzkoušet vše, co jsme v tomto návodu ukázali.

Máte dotaz? Napište nám –⁠⁠⁠⁠⁠⁠ rádi poradíme. Nebo se podívejte na další návody na našem blogu.

Zůstaňte s námi v kontaktu

Jednou za měsíc posíláme souhrn novinek. Nemusíte se bát, spamovat vás nebudeme a odhlásit se můžete kdykoliv...

Karel Dytrych
Tým Váš Hosting
Vyzkoušejte náš trial na týden zdarma

Garance 14denní záruky vrácení peněz

Vyzkoušejte server na týden zdarma

Vyzkoušet server