Webbservrar
Hanterade Webbservrar kör Nginx eller Apache åt dig — plattformen etablerar VM:en, installerar och konfigurerar webbservern (valfritt med PHP), binder dina domäner, distribuerar ditt innehåll och kan publicera webbplatsen på internet vid behov.
Skapa en webbserver
I portalen går du till Webbservrar → Instanser → Skapa och väljer:
- Motor — Nginx eller Apache, och en version (de startbara versionerna finns i rullgardinsmenyn; den rekommenderade är markerad).
- Flavor — storleken, från familjen
web.gp1.*(micro…xlarge). - Lagring — diskstorlek för dokumentroten.
- VPC + subnät.
- PHP — aktivera valfritt PHP och välj en version (8.1 / 8.2 / 8.3).
Från CLI:et
Livscykelkommandon är motorspecifika (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 är symmetriskt: 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 är Apache-motsvarigheten.)
PHP är låst under instansens livstid
Att aktivera PHP eller byta PHP-version kräver att instansen återskapas — det kan inte slås på för en körande webbserver. Välj den version du behöver redan vid skapandet.
Distribuera innehåll
Publicera din webbplats genom att ladda upp ett .tar.gz-arkiv av din dokumentrot. Plattformen packar upp det i en ny release-katalog och byter atomiskt den aktiva symboliska länken till den, så att övergången blir omedelbar och den föregående releasen behålls för återställning.
I portalen öppnar du webbserverns detaljsida och använder fliken Deploy för att ladda upp ett arkiv; distributionshistoriken listas där.
Från CLI:et
# Distribuera ett arkiv till en instans
fm webserver nginx deploy <instance-id> ./site.tar.gz
# Lista tidigare distributioner (nyast 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 spårar arkivets innehållshash — bygg om site.tar.gz så distribuerar nästa terraform apply automatiskt en ny release.
Motorkonfiguration
En liten, kurerad uppsättning motorinställningar kan justeras utan att röra rå Nginx-/Apache-konfiguration. Nycklarna är desamma för båda motorerna:
| Nyckel | Vad den styr |
|---|---|
indexFiles | Indexfilnamn som prövas för en katalogbegäran (t.ex. index.html index.php) |
spaFallback | Servera index.html för omatchade rutter (single-page-app-fallback) |
clientMaxBodySize | Maximal storlek på begäran/uppladdning (t.ex. 25m) |
gzip | Aktivera gzip-komprimering av svar |
securityHeaders | Skicka en grunduppsättning säkerhetssvarshuvuden |
error404Page | Sökväg till en anpassad 404-sida |
error500Page | Sökväg till en anpassad 500-sida |
I portalen använder du fliken Config på webbserverns detaljsida.
Från CLI:et
# Visa den aktuella konfigurationen
fm webserver nginx config get <instance-id>
# Sätt ett värde
fm webserver nginx config set <instance-id> spaFallback=true
fm webserver nginx config set <instance-id> clientMaxBodySize=25mMed Terraform
Sätt config-mappen på instansresursen:
resource "frostmoln_nginx_instance" "site" {
# … skapandeargument enligt ovan …
config = {
indexFiles = "index.html index.htm"
spaFallback = "true"
clientMaxBodySize = "25m"
gzip = "true"
securityHeaders = "true"
}
}Domäner
Bind en eller flera domäner till en körande webbserver. Bindningen är en notering hos plattformen: servern svarar på vilket värdnamn som helst som pekas mot dess IP, så det är DNS som gör en domän live — bindningen markerar vilka domäner du betraktar som dina och vilken som är standard.
fm webserver nginx domain add <instance-id> --name example.comHTTPS termineras inte åt dig ännu
Plattformen utfärdar och förnyar inte certifikat för en bunden domän. TLS-flaggan på bindningen — och TLS-reglaget och den gröna Enabled-märkningen på instansen i portalen — registrerar bara din avsikt: inget certifikat tillhandahålls, ingenting lyssnar på 443, och webbplatsen serveras över HTTP. Terminera TLS framför webbservern själv om du behöver HTTPS i dag.
(Eller Terraform-resursen frostmoln_webserver_domain.) Peka din domäns DNS mot serverns publika IP (se nedan) och markera en domän som standard.
Publicera på internet
En hanterad webbserver är privat som standard — den får en privat IP och är endast nåbar från instanser i samma VPC. För att servera den på det publika internet, exponera den: plattformen allokerar en publik IP, associerar den med servern, och instansen visar sedan en publik IP.
I portalen använder du åtgärden Expose på instansen.
Från CLI:et
fm webserver nginx expose <instance-id> # allokera + koppla en publik IP
fm webserver nginx unexpose <instance-id> # frigör den (tillbaka till privat)Med Terraform
resource "frostmoln_nginx_instance" "site" {
# … skapandeargument enligt ovan …
public = true
}Exponering allokerar en debiterad publik IP
Exponering allokerar en publik IP, som debiteras så länge den innehas. Att avexponera servern — eller ta bort den — frigör den publik IP:n.
Livscykel och begränsningar
- Starta, stoppa, starta om, ändra storlek (utöka lagring) och ta bort från instansens detaljsida eller via CLI:et (
fm webserver nginx instance start|stop|restart|resize|delete). - PHP är låst efter skapandet — återskapa instansen för att ändra det.
- Återställning — den föregående releasen behålls efter varje distribution.
- Ingen inbyggd lastbalansering eller autoskalning mellan webbserverinstanser (placera en lastbalanserare framför för det).