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:
| Typ | Název | Hodnota |
|---|---|---|
A | app (nebo @ pro samotnou doménu) | Adresa IPv4 z vaší karty |
AAAA | app (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.