Skip to main content

Nasadenie webu alebo aplikácie

Váš VPS Pro poskytuje vaše weby a aplikácie na ich doménovom mene, cez HTTP aj HTTPS. Návštevníci prichádzajú na porty 80 a 443 vášho servera, pod názvom vášho servera; šifrovanie HTTPS ide od začiatku do konca, až po váš server, kde je uložený váš certifikát.

1. Nasmerovanie domény na server​

Tam, kde sa spravuje zóna DNS vašej domény, vytvorte pre názov svojho servera dva záznamy s adresami zobrazenými na jeho karte, v sekcii VPS vašej zákazníckej zóny:

TypNázovHodnota
Aapp (alebo @ pre samotnú doménu)Adresa IPv4 z vašej karty
AAAAapp (alebo @)Adresa IPv6 z vašej karty

Názov pod vps.simafri.cloud už funguje: nie je potrebné nič vytvárať.

Ak zónu DNS vašej domény spravuje Simafri, tieto záznamy za vás nastaví náš tím: napíšte nám. Pred prepnutím webu, ktorý už je online, nás požiadajte aj o zníženie doby platnosti (TTL) záznamu: prepnutie sa potom rozšíri za pár minút.

Overenie z vášho počítača:

dig +short A app.moja-firma.sk
dig +short AAAA app.moja-firma.sk

2. Inštalácia webového servera​

Váš webový server počúva na porte 80 pre HTTP a na porte 443 pre HTTPS. Dve bežné možnosti:

  • Caddy, ktorý sám získa a obnovuje váš certifikát HTTPS;
  • Nginx alebo Apache, s Certbot na certifikát.

S Caddy​

apt install caddy

Potom v /etc/caddy/Caddyfile pre statický web:

app.moja-firma.sk {
root * /var/www/app
file_server
}

alebo pre aplikáciu, ktorá počúva na porte 3000:

app.moja-firma.sk {
reverse_proxy 127.0.0.1:3000
}

systemctl reload caddy a váš web odpovedá cez HTTPS: Caddy získal certifikát a bude ho sám obnovovať.

S Nginx a Certbot​

apt install nginx certbot python3-certbot-nginx

Vytvorte web v /etc/nginx/sites-available/app:

server {
listen 80;
listen [::]:80;
server_name app.moja-firma.sk;

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

Aktivujte ho a potom si vyžiadajte certifikát:

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

Certbot nainštaluje certifikát Let's Encrypt, pridá počúvanie na porte 443 a naplánuje jeho automatické obnovovanie. certbot renew --dry-run overí, že obnovovanie je pripravené.

3. Nepretržitý chod aplikácie​

Aplikáciu v Node.js, Pythone, Go alebo Jave, ktorá beží nepretržite, zverte systemd: spustí sa so serverom a sama sa reštartuje, ak sa zastaví. Príklad v /etc/systemd/system/app.service:

[Unit]
Description=Moja aplikácia
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 # sledovať jej logy

PM2 pre Node.js, Gunicorn alebo Uvicorn pre Python, prípadne Docker Compose plnia rovnakú úlohu, ak ich uprednostňujete.

4. Vaša databáza​

PostgreSQL, MySQL, MariaDB, Redis alebo MongoDB nainštalujete na server správcom balíkov alebo z oficiálneho repozitára vydavateľa, ak chcete najnovšiu verziu:

apt install postgresql

Nechajte databázu počúvať na localhost: vaša aplikácia ju dosiahne priamo na serveri. Ak ju chcete spravovať zo svojho počítača, použite tunel SSH:

ssh -p 22101 -L 5432:localhost:5432 root@app.moja-firma.sk

Váš nástroj (DBeaver, pgAdmin, TablePlus) sa potom pripojí na localhost:5432.

Viac domén na jednom serveri​

Váš server odpovedá pod svojím názvom, stanoveným pri objednávke. Ak chcete na tom istom VPS Pro poskytovať ďalšiu doménu alebo subdoménu, napíšte podpore a uveďte názvy, ktoré chcete pridať: náš tím ich pripojí k vášmu serveru, potom vytvoríte ich záznamy DNS ako v kroku 1 a pridáte ich blok do konfigurácie svojho webového servera.

Časté otázky​

Môj web zobrazuje chybu certifikátu.​

Skontrolujte v tomto poradí: vaše záznamy A a AAAA ukazujú na adresy z vašej karty (dig), váš webový server počúva na portoch 80 a 443 (ss -tlnp) a certifikát pokrýva tento názov (certbot certificates). Certifikát sa dá získať, až keď názov ukazuje na váš server: po rozšírení DNS spustite Certbot znova alebo znova načítajte Caddy.

Môj web vôbec neodpovedá.​

Na serveri curl -I http://localhost ukáže, či váš webový server odpovedá. systemctl status nginx (alebo caddy, alebo vaša služba) a jeho logy prezradia, prečo sa zastavil. Opíšte podpore, čo pozorujete: Komplexná podpora s vami stanoví diagnózu.

Môžem nainštalovať WordPress, Laravel alebo Symfony?​

Áno: nainštalujte PHP-FPM, databázu a webový server, potom svoju aplikáciu, ako na každom linuxovom serveri. Komplexná podpora vám krok za krokom poradí nastavenia vhodné pre váš projekt.