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:
| Typ | Nazwa | Wartość |
|---|---|---|
A | app (lub @ dla samej domeny) | Adres IPv4 z karty |
AAAA | app (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.