Przejdź do głównej zawartości

Publikacja strony lub aplikacji

VPS Pro serwuje Państwa strony i aplikacje pod ich nazwą domeny, przez HTTP i HTTPS. Odwiedzający trafiają na porty 80 i 443 serwera, pod nazwą serwera; szyfrowanie HTTPS obejmuje całą drogę, aż do Państwa serwera, na którym znajduje się certyfikat.

1. Skierowanie domeny na serwer​

Tam, gdzie zarządza się strefą DNS Państwa domeny, proszę utworzyć dwa rekordy dla nazwy serwera, z adresami wyświetlanymi na jego karcie w sekcji VPS panelu klienta:

TypNazwaWartość
Aapp (lub @ dla samej domeny)Adres IPv4 z karty
AAAAapp (lub @)Adres IPv6 z karty

Nazwa w vps.simafri.cloud już działa: nie trzeba niczego tworzyć.

Gdy strefą DNS Państwa domeny zarządza Simafri, te rekordy ustawi za Państwa nasz zespół: prosimy do nas napisać. Przed przełączeniem strony, która już działa, prosimy też o skrócenie czasu życia (TTL) rekordu: przełączenie rozejdzie się wtedy w kilka minut.

Weryfikacja z Państwa komputera:

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

2. Instalacja serwera WWW​

Serwer WWW nasłuchuje na porcie 80 dla HTTP i na porcie 443 dla HTTPS. Dwa popularne wybory:

  • Caddy, który sam uzyskuje i odnawia certyfikat HTTPS;
  • Nginx lub Apache, z Certbot do certyfikatu.

Z Caddy​

apt install caddy

Następnie w /etc/caddy/Caddyfile, dla strony statycznej:

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

albo dla aplikacji nasłuchującej na porcie 3000:

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

systemctl reload caddy i strona odpowiada przez HTTPS: Caddy uzyskał certyfikat i sam będzie go odnawiał.

Z Nginx i Certbot​

apt install nginx certbot python3-certbot-nginx

Proszę utworzyć stronę w /etc/nginx/sites-available/app:

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

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

Proszę ją włączyć, a następnie poprosić o certyfikat:

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

Certbot instaluje certyfikat Let's Encrypt, dodaje nasłuch na porcie 443 i planuje jego automatyczne odnawianie. certbot renew --dry-run sprawdza, czy odnawianie jest gotowe.

3. Utrzymanie aplikacji w działaniu​

Aplikację Node.js, Python, Go lub Java działającą w trybie ciągłym powierza się systemd: uruchamia się ona wraz z serwerem i sama się restartuje, jeśli się zatrzyma. Przykład, w /etc/systemd/system/app.service:

[Unit]
Description=Moja aplikacja
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 # śledzenie logów

PM2 dla Node.js, Gunicorn lub Uvicorn dla Pythona albo Docker Compose pełnią tę samą rolę, jeśli Państwo je wolą.

4. Baza danych​

PostgreSQL, MySQL, MariaDB, Redis lub MongoDB instaluje się na serwerze menedżerem pakietów albo z oficjalnego repozytorium producenta, aby mieć najnowszą wersję:

apt install postgresql

Baza powinna nasłuchiwać na localhost: aplikacja łączy się z nią na tym samym serwerze. Aby administrować nią z komputera, proszę użyć tunelu SSH:

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

Państwa narzędzie (DBeaver, pgAdmin, TablePlus) łączy się wtedy z localhost:5432.

Obsługa wielu domen​

Serwer odpowiada pod swoją nazwą, ustaloną przy zamówieniu. Aby obsługiwać inną domenę lub subdomenę na tym samym VPS Pro, prosimy napisać do wsparcia, podając nazwy do dodania: nasz zespół podłączy je do serwera, a następnie tworzą Państwo ich rekordy DNS jak w kroku 1 i dodają ich blok do serwera WWW.

Najczęstsze pytania​

Strona wyświetla błąd certyfikatu.​

Proszę sprawdzić po kolei: rekordy A i AAAA wskazują adresy z karty (dig), serwer WWW nasłuchuje na portach 80 i 443 (ss -tlnp), a certyfikat obejmuje tę nazwę (certbot certificates). Certyfikat uzyskuje się, gdy nazwa już wskazuje na serwer: po propagacji DNS proszę ponownie uruchomić Certbot lub przeładować Caddy.

Strona w ogóle nie odpowiada.​

Na serwerze curl -I http://localhost pokazuje, czy serwer WWW odpowiada. systemctl status nginx (lub caddy, lub Państwa usługa) i logi mówią, dlaczego się zatrzymał. Prosimy opisać wsparciu, co Państwo obserwują: Kompleksowe wsparcie postawi diagnozę razem z Państwem.

Czy mogę zainstalować WordPress, Laravel lub Symfony?​

Tak: proszę zainstalować PHP-FPM, bazę danych i serwer WWW, a następnie aplikację, jak na każdym serwerze Linux. Kompleksowe wsparcie wskaże krok po kroku ustawienia dopasowane do Państwa projektu.