Skip to content

Verkkopalvelimet ​

Hallitut verkkopalvelimet ajavat Nginxiä tai Apachea puolestasi — alusta provisioi VM:n, asentaa ja konfiguroi verkkopalvelimen (valinnaisesti PHP:n kanssa), sitoo verkkotunnuksesi, julkaisee sisältösi ja voi julkaista sivuston internetiin tarvittaessa.

Luo verkkopalvelin ​

Portaalissa siirry kohtaan Web Servers → Instances → Create ja valitse:

  • Tyyppi — Nginx tai Apache ja versio (käynnistettävät versiot ovat pudotusvalikossa; suositeltu on merkitty).
  • Koko — koko web.co1.*-perheestä (small … xlarge).
  • Tallennustila — dokumenttijuuren levykoko.
  • VPC + aliverkko.
  • PHP — ota PHP valinnaisesti käyttöön ja valitse versio (8.1 / 8.2 / 8.3).

Komentoriviltä ​

Elinkaarikomennot ovat tyyppikohtaisia (fm webserver nginx … / fm webserver apache …).

bash
fm webserver nginx instance create \
  --name site-1 \
  --version 1.30 \
  --flavor web.co1.small \
  --storage 20 \
  --vpc my-vpc \
  --subnet my-subnet \
  --php-enabled --php-version 8.3

# Apache on symmetrinen: fm webserver apache instance create …

Terraformilla ​

hcl
resource "frostmoln_nginx_instance" "site" {
  name        = "site-1"
  version     = "1.30"
  flavor_id   = "web.co1.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 on Apachen vastine.)

PHP on lukittu instanssin eliniäksi

PHP:n käyttöönotto tai PHP-version vaihtaminen edellyttää instanssin uudelleenluontia — sitä ei voi kytkeä päälle käynnissä olevalle verkkopalvelimelle. Valitse tarvitsemasi versio jo luontivaiheessa.

Julkaise sisältöä ​

Julkaise sivustosi lataamalla dokumenttijuuresi .tar.gz-arkisto. Alusta purkaa sen uuteen julkaisuhakemistoon ja vaihtaa atomisesti aktiivisen symbolisen linkin siihen, joten vaihto on välitön ja edellinen julkaisu säilytetään palautusta varten.

Portaalissa avaa verkkopalvelimen tietosivu ja käytä Deploy-välilehteä arkiston lataamiseen; julkaisuhistoria näkyy siellä.

Komentoriviltä ​

bash
# Julkaise arkisto instanssiin
fm webserver nginx deploy <instance-id> ./site.tar.gz

# Listaa aiemmat julkaisut (uusin ensin)
fm webserver nginx deploys list <instance-id>

# Apache: fm webserver apache deploy … / fm webserver apache deploys list …

Terraformilla ​

hcl
resource "frostmoln_webserver_deployment" "site" {
  instance_id    = frostmoln_nginx_instance.site.id
  source_archive = "${path.module}/site.tar.gz"
}

Terraform seuraa arkiston sisältötiivistettä — rakenna site.tar.gz uudelleen, niin seuraava terraform apply julkaisee automaattisesti uuden version.

Asetukset ​

Pieni, kuratoitu joukko asetuksia voidaan säätää koskematta raakaan Nginx-/Apache-konfiguraatioon. Avaimet ovat samat molemmille moottoreille:

AvainMitä se ohjaa
indexFilesHakemistopyynnölle kokeiltavat indeksitiedostonimet (esim. index.html index.php)
spaFallbackTarjoa index.html täsmäämättömille reiteille (single-page-app-varareitti)
clientMaxBodySizePyynnön/latauksen enimmäiskoko (esim. 25m)
gzipOta vastausten gzip-pakkaus käyttöön
securityHeadersLähetä perusjoukko tietoturvavastausotsakkeita
error404PagePolku mukautetulle 404-sivulle
error500PagePolku mukautetulle 500-sivulle

Portaalissa käytä verkkopalvelimen tietosivun Config-välilehteä.

Komentoriviltä ​

bash
# Näytä nykyinen konfiguraatio
fm webserver nginx config get <instance-id>

# Aseta arvo
fm webserver nginx config set <instance-id> spaFallback=true
fm webserver nginx config set <instance-id> clientMaxBodySize=25m

Terraformilla ​

Aseta config-kartta instanssiresurssiin:

hcl
resource "frostmoln_nginx_instance" "site" {
  # … luontiargumentit kuten yllä …

  config = {
    indexFiles        = "index.html index.htm"
    spaFallback       = "true"
    clientMaxBodySize = "25m"
    gzip              = "true"
    securityHeaders   = "true"
  }
}

Verkkotunnukset ​

Sido yksi tai useampi verkkotunnus käynnissä olevaan verkkopalvelimeen. Sidonta on merkintä alustalla: palvelin vastaa mihin tahansa isäntänimeen, joka osoitetaan sen IP-osoitteeseen, joten DNS tekee verkkotunnuksesta toimivan — sidonta merkitsee, mitkä verkkotunnukset katsot omiksesi ja mikä on oletus.

bash
fm webserver nginx domain add <instance-id> --name example.com

HTTPS:ää ei vielä terminoida puolestasi

Alusta ei myönnä eikä uusi varmenteita sidotulle verkkotunnukselle. Sidonnan TLS-lippu — sekä portaalin TLS-kytkin ja vihreä Enabled-merkintä instanssissa — tallentavat vain aikomuksesi: varmennetta ei provisioida, mikään ei kuuntele porttia 443, ja sivusto tarjoillaan HTTP:llä. Terminoi TLS itse verkkopalvelimen edessä, jos tarvitset HTTPS:ää tänään.

(Tai frostmoln_webserver_domain-Terraform-resurssin avulla.) Osoita verkkotunnuksesi DNS palvelimen julkiseen IP-osoitteeseen (katso alla) ja merkitse yksi verkkotunnus oletukseksi.

Julkaise internetiin ​

Hallittu verkkopalvelin on oletuksena yksityinen — se saa yksityisen IP-osoitteen ja on tavoitettavissa vain saman VPC:n instansseista. Tarjotaksesi sen julkiseen internetiin altista se: alusta varaa julkisen IP:n, liittää sen palvelimeen, ja instanssi näyttää tämän jälkeen julkisen IP-osoitteen.

Portaalissa käytä instanssin Expose-toimintoa.

Komentoriviltä ​

bash
fm webserver nginx expose <instance-id>     # varaa + liitä julkinen IP
fm webserver nginx unexpose <instance-id>   # vapauta se (takaisin yksityiseksi)

Terraformilla ​

hcl
resource "frostmoln_nginx_instance" "site" {
  # … luontiargumentit kuten yllä …
  public = true
}

Altistaminen varaa laskutettavan julkisen IP:n

Altistaminen varaa julkisen IP:n, joka laskutetaan niin kauan kuin se on varattuna. Palvelimen altistuksen poistaminen — tai sen poistaminen — vapauttaa julkisen IP:n.

Mikä on auki ja kenelle ​

Jokainen verkkopalvelin saa oman turvaryhmänsä — palomuurin, jonka alusta luo ja liittää instanssin luonnin yhteydessä. Se sallii saapuvan liikenteen tcp/80- ja tcp/443-portteihin mistä tahansa lähteestä (0.0.0.0/0), ja lähtevä liikenne on rajoittamatonta. Niin kauan kuin palvelin on yksityinen, siihen ei ole liitetty julkista IP-osoitetta, joten mikään VPC:si ulkopuolinen ei tavoita sitä; kun altistat sen, nämä kaksi porttia ovat auki koko internetiin.

Kaikki, mikä pystyy jo reitittämään VPC:hesi — muut instanssisi, peering, VPN — tavoittaa myös portit 80/443, mukaan lukien alla ehdotettu kuormantasaaja.

Ryhmän id näkyy instanssissa (security_group_id Terraformissa, ja se näytetään portaalissa), joten voit tarkastella sen sääntöjä:

bash
fm network security-group get <sg-id>

Lähdealuetta ei voi vielä rajata

Alusta hallitsee tätä ryhmää: sitä ei ole tarkoitettu sinun muokattavaksesi, ja siihen tehdyt muutokset yleensä hylätään. Tämä tarkoittaa myös, ettet voi vielä rajata portteja 80/443 omaan osoitealueeseesi. Tuleva julkaisu antaa sinun rajata lähteen; olemassa olevien palvelimien oletus ei muutu huomaamattasi. Jos tarvitset rajausta tänään, pidä verkkopalvelin yksityisenä ja aseta kuormantasaaja tai oma välityspalvelimesi sen eteen.

Elinkaari ja rajoitukset ​

  • Käynnistä, pysäytä, käynnistä uudelleen, muuta kokoa (kasvata tallennustilaa) ja poista instanssin tietosivulta tai komentoriviltä (fm webserver nginx instance start|stop|restart|resize|delete).
  • PHP on lukittu luonnin jälkeen — muuta se luomalla instanssi uudelleen.
  • Palautus — edellinen julkaisu säilytetään jokaisen julkaisun jälkeen.
  • Ei sisäänrakennettua kuormantasausta tai automaattista skaalausta verkkopalvelininstanssien välillä (laita kuormantasaaja eteen sitä varten).

Liittyvät ​