Pokud se váš web načítá pomalu, může vás to stát polovinu návštěvníků – jak ukazuje výzkum Googlu. Rychlost, bezpečnost a stabilita jsou klíčové požadavky na hostování webových aplikací v Pythonu, zejména pokud pracujete s oblíbenými frameworky jako Django nebo Flask.
Tyto nástroje si vybírají tisíce vývojářů – od startupů po velké týmy – díky jejich flexibilitě, jednoduchosti a škálovatelnosti. Bez správně nastaveného serveru ale ani ten nejlepší kód neukáže, co umí.
Tento průvodce vás provede celým procesem – od výběru operačního systému až po spuštění aplikace s doménou a SSL. Nabídneme vám praktické tipy, které pomohou začátečníkům i zkušeným vývojářům, a ukážeme, jak se vyhnout běžným chybám. Pojďme na to!
Význam konfigurace
Python je oblíbený pro svou jednoduchost a všestrannost – od vývoje webů po automatizaci. Django a Flask usnadňují tvorbu výkonných webových aplikací, ale jejich efektivita závisí na serveru. Špatné nastavení může způsobit zpoždění, výpadky nebo dokonce bezpečnostní rizika.
Co dělá Django a Flask výjimečnými
Oba vyžadují promyšlený hosting. Na Hostiserveru jsme vyladili Python aplikace pro stovky klientů – a teď se o zkušenosti podělíme s vámi.
Linux nebo Windows?
Pro Python aplikace je nejlepší volbou Linux. Proč?
Windows funguje také, ale kvůli dražší licenci a menší přizpůsobivosti Python ekosystému ho pro hosting volí málokdo.
Jakou distribuci zvolit
Na Hostiserveru doporučujeme Ubuntu LTS pro začátečníky a Debian pro ty, kteří chtějí větší kontrolu.
Základní kroky a bezpečnost
Připojte se přes SSH:
ssh user@your_server_ip
Tip: Nepoužívejte přímý přístup rootem. Vytvořte nového uživatele a vypněte root přihlášení v /etc/ssh/sshd_config
.
Aktualizujte systém:
sudo apt update && sudo apt upgrade -y
Nastavte firewall:
sudo ufw allow OpenSSH
sudo ufw enable
Navíc: Nainstalujte fail2ban proti útokům hrubou silou:
sudo apt install fail2ban -y
Instalace potřebných balíčků:
sudo apt install python3 python3-pip python3-venv -y
Ověřte verzi:
python3 --version
Vytvoření virtuálního prostředí
mkdir mydjangoapp && cd mydjangoapp
python3 -m venv venv
source venv/bin/activate
Instalace Djanga
pip install django
django-admin startproject myproject .
Nastavení databáze
Pro jednoduchost použijte SQLite:
python manage.py migrate
Pro produkci zvolte PostgreSQL:
sudo apt install postgresql postgresql-contrib
pip install psycopg2-binary
Poznámka: psycopg2-binary
je jednodušší pro začátečníky. Pro vlastní kompilaci použijte psycopg2
.
Upravte settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydb',
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
}
}
Testování
python manage.py runserver 0.0.0.0:8000
Navštivte http://your_server_ip:8000
v prohlížeči.
Nastavení virtuálního prostředí
mkdir myflaskapp && cd myflaskapp
python3 -m venv venv
source venv/bin/activate
Instalace Flasku
pip install flask
Vytvořte app.py
:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, Flask!"
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)
Testování
python app.py
Přejděte na http://your_server_ip:5000
.
Nginx nebo Apache?
Více se dozvíte v článku “Optimalizace webu: Nginx vs. Apache”.
Nastavení Nginx s Gunicornem
sudo apt install nginx
pip install gunicorn
gunicorn --workers 3 myproject.wsgi:application
Nastavte Nginx (/etc/nginx/sites-available/myproject
):
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Aktivujte konfiguraci:
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
sudo systemctl restart nginx
Nastavení DNS
Přidejte A záznam:
Jméno: @
Hodnota: your_server_ip
Přidání SSL s Let’s Encrypt
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com
Webový server | Výhody | Nevýhody |
---|---|---|
Nginx | Rychlý, lehký | Vyžaduje přesné nastavení |
Apache | Jednoduchý, modulární | Pomalejší než Nginx |
Monitorování
Pro monitorování používejte specializované nástroje nebo vestavěná hostingová řešení.
Zálohování
crontab -e
0 2 * * * tar -czf /backup/backup_$(date +\%Y\%m\%d).tar.gz /path/to/app
Optimalizace
journalctl -u gunicorn
Nastavení serveru pro Django nebo Flask není nijak složité – stačí vědět, na co si dát pozor. S dobrým nastavením bude vaše aplikace rychlá, bezpečná a připravená na zátěž. Vytvořte si stabilní hostingové prostředí s Hostiserverem: rychlý start, podpora 24/7 a VPS, které vás nenechají ve štychu.