Webservere
Administrerte webservere kjører Nginx eller Apache for deg — plattformen klargjør VM-en, installerer og konfigurerer webserveren (eventuelt med PHP), binder domenene dine, distribuerer innholdet ditt og kan publisere nettstedet på internett ved behov.
Opprett en webserver
I portalen går du til Webservere → Instanser → Opprett og velger:
- Motor — Nginx eller Apache, og en versjon (de startbare versjonene er i nedtrekkslisten; den anbefalte er markert).
- Størrelse — størrelsen, fra
web.gp1.*-familien (micro…xlarge). - Lagring — diskstørrelse for dokumentroten.
- VPC + subnett.
- PHP — aktiver eventuelt PHP og velg en versjon (8.1 / 8.2 / 8.3).
Fra CLI-en
Livssykluskommandoer er motorspesifikke (fm webserver nginx … / fm webserver apache …).
fm webserver nginx instance create \
--name site-1 \
--version 1.30 \
--flavor web.gp1.small \
--storage 20 \
--vpc my-vpc \
--subnet my-subnet \
--php-enabled --php-version 8.3
# Apache er symmetrisk: fm webserver apache instance create …Med Terraform
resource "frostmoln_nginx_instance" "site" {
name = "site-1"
version = "1.30"
flavor_id = "web.gp1.small"
storage_gb = 20
vpc_id = frostmoln_vpc.main.id
subnet_id = frostmoln_subnet.main.id
php_enabled = true
php_version = "8.3"
}(frostmoln_apache_instance er Apache-ekvivalenten.)
PHP er låst i instansens levetid
Å aktivere PHP eller endre PHP-versjon krever at instansen gjenopprettes — det kan ikke slås på for en kjørende webserver. Velg versjonen du trenger allerede ved opprettelsen.
Distribuer innhold
Publiser nettstedet ditt ved å laste opp et .tar.gz-arkiv av dokumentroten. Plattformen pakker det ut i en ny release-katalog og bytter atomisk den aktive symbolske lenken til den, slik at overgangen blir umiddelbar og den forrige releasen beholdes for tilbakerulling.
I portalen åpner du webserverens detaljside og bruker fanen Deploy for å laste opp et arkiv; distribusjonshistorikken vises der.
Fra CLI-en
# Distribuer et arkiv til en instans
fm webserver nginx deploy <instance-id> ./site.tar.gz
# List tidligere distribusjoner (nyeste først)
fm webserver nginx deploys list <instance-id>
# Apache: fm webserver apache deploy … / fm webserver apache deploys list …Med Terraform
resource "frostmoln_webserver_deployment" "site" {
instance_id = frostmoln_nginx_instance.site.id
source_archive = "${path.module}/site.tar.gz"
}Terraform sporer arkivets innholdshash — bygg om site.tar.gz, så distribuerer neste terraform apply automatisk en ny release.
Motorkonfigurasjon
Et lite, kuratert sett med motorinnstillinger kan justeres uten å berøre rå Nginx-/Apache-konfigurasjon. Nøklene er de samme for begge motorene:
| Nøkkel | Hva den styrer |
|---|---|
indexFiles | Indeksfilnavn som prøves for en katalogforespørsel (f.eks. index.html index.php) |
spaFallback | Server index.html for umatchede ruter (single-page-app-fallback) |
clientMaxBodySize | Maksimal størrelse på forespørsel/opplasting (f.eks. 25m) |
gzip | Aktiver gzip-komprimering av svar |
securityHeaders | Send et grunnleggende sett med sikkerhetssvarhoder |
error404Page | Sti til en egendefinert 404-side |
error500Page | Sti til en egendefinert 500-side |
I portalen bruker du fanen Config på webserverens detaljside.
Fra CLI-en
# Vis den gjeldende konfigurasjonen
fm webserver nginx config get <instance-id>
# Sett en verdi
fm webserver nginx config set <instance-id> spaFallback=true
fm webserver nginx config set <instance-id> clientMaxBodySize=25mMed Terraform
Sett config-kartet på instansressursen:
resource "frostmoln_nginx_instance" "site" {
# … opprettelsesargumenter som ovenfor …
config = {
indexFiles = "index.html index.htm"
spaFallback = "true"
clientMaxBodySize = "25m"
gzip = "true"
securityHeaders = "true"
}
}Domener
Bind ett eller flere domener til en kjørende webserver. Bindingen er en registrering hos plattformen: serveren svarer på et hvilket som helst vertsnavn som peker mot IP-en, så det er DNS som gjør et domene live — bindingen markerer hvilke domener du regner som dine og hvilket som er standard.
fm webserver nginx domain add <instance-id> --name example.comHTTPS termineres ikke for deg ennå
Plattformen utsteder og fornyer ikke sertifikater for et bundet domene. TLS-flagget på bindingen — og TLS-bryteren og det grønne Enabled-merket på instansen i portalen — registrerer bare intensjonen din: ingen sertifikater klargjøres, ingenting lytter på 443, og nettstedet serveres over HTTP. Terminer TLS foran webserveren selv hvis du trenger HTTPS i dag.
(Eller Terraform-ressursen frostmoln_webserver_domain.) Pek domenets DNS mot serverens offentlige IP (se nedenfor), og merk ett domene som standard.
Publiser på internett
En administrert webserver er privat som standard — den får en privat IP og er kun tilgjengelig fra instanser i samme VPC. For å betjene den på det offentlige internett, eksponer den: plattformen tildeler en offentlig IP, tilknytter den til serveren, og instansen viser deretter en offentlig IP.
I portalen bruker du handlingen Expose på instansen.
Fra CLI-en
fm webserver nginx expose <instance-id> # tildel + koble til en offentlig IP
fm webserver nginx unexpose <instance-id> # frigi den (tilbake til privat)Med Terraform
resource "frostmoln_nginx_instance" "site" {
# … opprettelsesargumenter som ovenfor …
public = true
}Eksponering tildeler en fakturert offentlig IP
Eksponering tildeler en offentlig IP, som faktureres så lenge den holdes. Å aveksponere serveren — eller slette den — frigir den offentlig IP-en.
Livssyklus og begrensninger
- Start, stopp, omstart, endre størrelse (utvide lagring), og slett fra instansens detaljside eller CLI-en (
fm webserver nginx instance start|stop|restart|resize|delete). - PHP er låst etter opprettelse — gjenopprett instansen for å endre det.
- Tilbakerulling — den forrige releasen beholdes etter hver distribusjon.
- Ingen innebygd lastbalansering eller autoskalering på tvers av webserver-instanser (sett en lastbalanserer foran for det).