Skip to main content

Zveřejnění webu nebo aplikace

Váš VPS Pro poskytuje vaše weby a aplikace na jejich doméně, přes HTTP i HTTPS. Návštěvníci přicházejí na porty 80 a 443 vašeho serveru, pod názvem vašeho serveru; šifrování HTTPS vede od začátku do konce, až k vašemu serveru, kde je uložen váš certifikát.

1. Nasměrování domény na server​

Tam, kde se spravuje zóna DNS vaší domény, vytvořte pro název svého serveru dva záznamy s adresami zobrazenými na jeho kartě, v sekci VPS vaší zákaznické zóny:

TypNázevHodnota
Aapp (nebo @ pro samotnou doménu)Adresa IPv4 z vaší karty
AAAAapp (nebo @)Adresa IPv6 z vaší karty

Název pod vps.simafri.cloud už funguje: není třeba nic vytvářet.

Pokud zónu DNS vaší domény spravuje Simafri, náš tým tyto záznamy nastaví za vás: napište nám. Před přepnutím webu, který už běží, nás také požádejte o snížení doby platnosti (TTL) záznamu: přepnutí se pak rozšíří během několika minut.

Ověření z vašeho počítače:

dig +short A app.moje-firma.cz
dig +short AAAA app.moje-firma.cz

2. Instalace webového serveru​

Váš webový server naslouchá na portu 80 pro HTTP a na portu 443 pro HTTPS. Dvě běžné volby:

  • Caddy, který váš certifikát HTTPS získá a obnovuje sám;
  • Nginx nebo Apache, s Certbotem pro certifikát.

S Caddy​

apt install caddy

Pak v /etc/caddy/Caddyfile pro statický web:

app.moje-firma.cz {
root * /var/www/app
file_server
}

nebo pro aplikaci, která naslouchá na portu 3000:

app.moje-firma.cz {
reverse_proxy 127.0.0.1:3000
}

systemctl reload caddy a váš web odpovídá přes HTTPS: Caddy získal certifikát a sám ho bude obnovovat.

S Nginx a Certbotem​

apt install nginx certbot python3-certbot-nginx

Vytvořte web v /etc/nginx/sites-available/app:

server {
listen 80;
listen [::]:80;
server_name app.moje-firma.cz;

location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

Aktivujte ho a pak požádejte o certifikát:

ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d app.moje-firma.cz

Certbot nainstaluje certifikát Let's Encrypt, přidá naslouchání na portu 443 a naplánuje jeho automatické obnovování. certbot renew --dry-run ověří, že je obnovení připravené.

3. Nepřetržitý chod aplikace​

Aplikaci v Node.js, Pythonu, Go nebo Javě, která běží nepřetržitě, svěřte systemd: spustí se se serverem a sama se restartuje, pokud se zastaví. Příklad v /etc/systemd/system/app.service:

[Unit]
Description=Moje aplikace
After=network.target

[Service]
WorkingDirectory=/srv/app
ExecStart=/usr/bin/node server.js
Restart=always
Environment=NODE_ENV=production
User=www-data

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now app
journalctl -u app -f # sledovat její logy

PM2 pro Node.js, Gunicorn nebo Uvicorn pro Python, případně Docker Compose plní stejnou roli, pokud jim dáváte přednost.

4. Vaše databáze​

PostgreSQL, MySQL, MariaDB, Redis nebo MongoDB nainstalujete na svůj server správcem balíčků, nebo z oficiálního repozitáře vydavatele, chcete-li nejnovější verzi:

apt install postgresql

Nechte databázi naslouchat na localhost: vaše aplikace se k ní připojuje přímo na serveru. Pro správu z vašeho počítače použijte tunel SSH:

ssh -p 22101 -L 5432:localhost:5432 root@app.moje-firma.cz

Váš nástroj (DBeaver, pgAdmin, TablePlus) se pak připojí k localhost:5432.

Více domén​

Váš server odpovídá pod svým názvem, stanoveným při objednávce. Chcete-li na stejném VPS Pro poskytovat další doménu nebo subdoménu, napište podpoře a uveďte názvy, které chcete přidat: náš tým je připojí k vašemu serveru, potom vytvoříte jejich záznamy DNS jako v kroku 1 a přidáte jejich blok do svého webového serveru.

Časté otázky​

Můj web zobrazuje chybu certifikátu.​

Zkontrolujte v tomto pořadí: vaše záznamy A a AAAA ukazují na adresy z vaší karty (dig), váš webový server naslouchá na portech 80 a 443 (ss -tlnp) a certifikát skutečně pokrývá tento název (certbot certificates). Certifikát lze získat, jakmile název ukazuje na váš server: po rozšíření DNS znovu spusťte Certbot, nebo znovu načtěte Caddy.

Můj web vůbec neodpovídá.​

Na serveru curl -I http://localhost ukáže, zda váš webový server odpovídá. systemctl status nginx (nebo caddy, případně vaše služba) a jeho logy prozradí, proč se zastavil. Popište podpoře, co pozorujete: Komplexní podpora s vámi stanoví diagnózu.

Mohu nainstalovat WordPress, Laravel nebo Symfony?​

Ano: nainstalujte PHP-FPM, svou databázi a webový server a pak svou aplikaci, jako na kterémkoli linuxovém serveru. Komplexní podpora vám krok za krokem doporučí nastavení odpovídající vašemu projektu.