← 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 – 6 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.

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.

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.

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.

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

VPS Centrum

Vyzkoušejte zdarma naši aplikaci pro správu serveru a domén. Budete si připadat jako zkušený administrátor.

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

Přesouváte web na lepší hosting?

Stáhněte si průvodce migrací bez výpadku

Průvodce migrací na lepší hosting