Mikä on IIS?
Tässä postauksessa tarkastelemme IIS:ää (Internet Information Services) lähemmin. Katsomme, mitä se tekee ja miten se toimii. Opit, miten se otetaan käyttöön Windowsissa. Sen jälkeen, kun IIS:n hallinta graafisen käyttöliittymän avulla on vakiintunut, näet, miten sen kanssa voi työskennellä CLI:n avulla. Aloitetaan!
Mikä on IIS-verkkopalvelin?
IIS-verkkopalvelin toimii Microsoftin .NET-alustalla Windows-käyttöjärjestelmässä. Vaikka IIS:ää on mahdollista käyttää Linuxissa ja Macissa Monon avulla, sitä ei suositella ja se on todennäköisesti epävakaa. (On olemassa muitakin vaihtoehtoja, jotka esittelen myöhemmin). Mono on monipuolinen ja vakaa, ja sitä on käytetty laajalti tuotannossa jo vuosia. Versio 10 on uusin. Kun se on asennettu, näet tämän tervetulosivun selaimessasi. ”Tervetuloa!”
Mutta ennen kuin syvennymme IIS:n yksityiskohtiin, aloitetaan määrittelemällä web-palvelin yleisessä mielessä.
Mikä on web-palvelin?
Internet on hyvä. Ja internetiä ei voi olla olemassa ilman verkkopalvelimia. Mutta mikä tarkalleen ottaen on verkkopalvelin? Määritellään se abstraktisti, jotta saamme jonkinlaisen kontekstin sille, miten IIS täyttää tämän roolin.
Webipalvelin on prosessi web-sovellusten isännöintiä varten. Web-palvelimen avulla sovellus voi käsitellä viestejä, jotka saapuvat tiettyjen TCP-porttien kautta (oletusarvoisesti). Esimerkiksi HTTP-liikenteen oletusportti on 80 ja HTTPS-liikenteen oletusportti on 443.
Kun vierailet verkkosivustolla selaimella, et yleensä määritä porttinumeroa, ellei verkkopalvelinta ole määritetty vastaanottamaan liikennettä muilla kuin oletusportilla. Vierailu http://www.example.com lähettää pyynnön epäsuorasti porttiin 80. Voit määrittää porttinumeron, jos haluat http://www.example.com:80 ja https://www.example.com:443 TLS:ää (Transport Layer Security) varten.
Edellyttäen, että oletuskonfiguraatio ja TLS on konfiguroitu web-sovellukseesi, web-palvelin vastaanottaa kaiken saapuvan liikenteen portteihin 80 ja 443. Se, mitä verkkopalvelin tekee sieltä tulevalle liikenteelle, riippuu. On olemassa lukemattomia vaihtoehtoja sille, miten WWW-palvelin voi käsitellä näitä pyyntöjä.
Miten IIS käsittelee WWW-pyyntöjä?
Web-palvelimien kaksi tärkeintä prosessimallia ovat joko käsitellä kaikki pyynnöt yhdessä säikeessä tai luoda uusi säie jokaista pyyntöä varten. Vaikka yhden säikeen mallissa (esimerkiksi Node.js:ssä) on käytettävissä joitakin työläissäikeitä, se käyttää niitä yleensä vain tietynlaiseen työhön, kuten tiedostojärjestelmän käyttöön. IIS:n (ja sen kevyen serkun IIS Expressin) käyttämä thread-per-request-malli ottaa säikeen säiepoolista jokaista pyyntöä varten.
Web-palvelimet käsittelevät pyyntöjä tyypillisesti request-response-mallin avulla. Asiakas lähettää pyynnön ja saa vastauksen, jos kaikki menee hyvin. HTTP-protokolla on yleinen valinta, kun asiakkaan ja web-palvelimen välillä kommunikoidaan internetin välityksellä.
Ominaisuudet
IIS tarjoaa runsaasti ominaisuuksia. Yleisimmin IIS:ää käytetään ASP.NET-verkkosovellusten ja staattisten verkkosivustojen isännöintiin. Sitä voidaan käyttää myös FTP-palvelimena, isännöidä WCF-palveluja ja sitä voidaan laajentaa isännöimään muilla alustoilla, kuten PHP:llä, rakennettuja verkkosovelluksia.
IISissä on sisäänrakennettuja todennusvaihtoehtoja, kuten Basic-, ASP.NET- ja Windows-auth. Jälkimmäinen on hyödyllinen, jos käytössäsi on Windows Active Directory -ympäristö – käyttäjät voivat kirjautua verkkosovelluksiin automaattisesti verkkotunnuksillaan. Muita sisäänrakennettuja tietoturvaominaisuuksia ovat TLS-varmenteiden hallinta ja sitominen HTTPS:n ja SFTP:n ottamiseksi käyttöön sivustoilla, pyyntöjen suodatus valkoisen tai mustan listan liikennettä varten, valtuutussäännöt, pyyntöjen kirjaaminen ja monipuoliset FTP-kohtaiset tietoturvaominaisuudet.
Yksi IIS:n tärkeimmistä ominaisuuksista on sovellusallas. Sovelluspooliin on tutustuttava tarkemmin, sillä se on kriittinen osa IIS:n prosessimallia.
Arvonarvoinen ominaisuus on etähallinta. IIS:ää voidaan hallita myös CLI:n kautta tai PowerShellin avulla. Kaiken voi skriptata, mikä on hienoa, jos pidät siitä vallasta, joka siihen liittyy.
Tässä vaiheessa sinulla pitäisi olla hyvä käsitys IIS:n konfiguroitavuudesta ja monipuolisuudesta. Sinun pitäisi myös olla tietoinen siitä, että sitä voidaan laajentaa palvelemaan (sanaleikki tarkoitettu) monia muita tarkoituksia kuin ASP.NET-sovellusten isännöintiä. Laajennusten avulla IIS:stä tulee erittäin monipuolinen ja vakaa Windows-alustan verkkopalvelin. Katsotaanpa, miten IIS asennetaan Windows 10:een. (Sama prosessi pätee myös Windows 7:ään ja 8:aan.)
IIS:n asennus
Sen kutsuminen ”asentamiseksi” olisi hieman liikaa. Loppujen lopuksi IIS on Windowsin ominaisuus. Se, mitä sinun oikeasti pitää tehdä, on ottaa ominaisuus käyttöön. Windows 10:ssä voit painaa Windows-näppäintä ja kirjoittaa ”turn win”. Sinun pitäisi nähdä ”Ota Windowsin ominaisuudet käyttöön tai poista ne käytöstä.”
Valitsemalla sen avaat ”Windowsin ominaisuudet” -valintaikkunan. Sieltä voit ottaa käyttöön kaikenlaisia lisäominaisuuksia, kuten PowerShell 2.0:n, Internet Information Services (IIS) -palvelun (Internet Information Services, IIS) vaihtoehtojen syvän hakemistopuun ja Linux-alijärjestelmän. (Täytyy sanoa, että tuo jälkimmäinen on ollut minulle lukuisia kertoja kätevä, esimerkiksi silloin, kun Node-sovelluksessa on joitain shell-skriptejä osana npm-rakentamista).
Vaihtoehto Internetin tietopalvelut (IIS) on se, jonka haluamme!
Klikkaamalla sitä koskevaa ruutua saat hyvän lähtökohdan. Saatat kuitenkin haluta kaivaa syvemmälle. World Wide Web Services > Application Development Features (Sovelluskehitysominaisuudet) on kohta, jossa otat käyttöön ASP.NETin, CGI:n ja WebSocket-protokollan. Voit aina palata tähän, jos haluat tehdä säätöjä.
Ottaaksesi IIS:n käyttöön Windows Serverissä voit asentaa ”Web-roolin (IIS)” joko PowerShellin tai Server Managerin avulla. Katso lisätietoja tästä ohjeesta.
Kun olet valinnut kaikki halutut IIS-ominaisuudet, napsauta OK ja hae kuppi tuoretta kahvia. Kun asennus on valmis, pääset IIS:n graafiseen käyttöliittymään kirjoittamalla Windowsin hakuun ”IIS” tai suorittamalla komennon ”inetmgr.”
Käyttöliittymä
Ennen kuin menemme yksityiskohtiin, haluan antaa sinulle lyhyen esittelyn IIS Managerista. Olen korostanut kiinnostavia alueita, koska tämä asia on niin sotkuinen. Se vaatii totuttelua, mutta voin tarjota apua muutamiin asioihin, jotka koskevat täällä liikkumista.
Ensinnäkin on kolme paneelia. Vasemmalla on yhdistetyt palvelimet. (Voit muodostaa yhteyden myös etäpalvelimiin.) Keskimmäisestä ruudusta löytyvät kaikki ominaisuudet, kuten sovellusturva, lokitus, suodatus ja uudelleenohjaus. Tai kun valitset ”Sisältönäkymä”, näet sisällön sen sijaan täällä keskellä. Oikealla on toimintoruutu. Tämä muuttuu valitun kontekstin mukaan.
En ole varma, miksi tuo pieni ylimääräinen kuvake oikeassa alareunassa on siellä, mutta voit muuttaa ikkunan kokoa myös siellä alhaalla.
VINKKI: voit napsauttaa hiiren kakkospainikkeella suurinta osaa kuvakkeista ja käyttää kontekstitoimintovalikkoa yleisimpien toimintojen suorittamiseen.
Jos laajennat ”Connection” (yhteydet) -ruutua Yhteydet-paneelissa, ensimmäisenä pitäisi tulla näkyviin ”Application Pools (Sovelluspoolit)” ja sen jälkeen ”Sites (sivustot)”. Keskitymme niihin kahdessa seuraavassa osiossa.
Sovelluspoolit…Mitä ne ovat ja miten ne toimivat?
Tässä tarkastellaan IIS:ssä oletusarvoisesti määritettyjä sovelluspooleja. Kuten näet, on olemassa v2.0:n ja v4.0:n sekä klassisen ja integroidun yhdistelmiä.
Integroitu putkisto eroaa klassisesta putkistosta siinä, että ASP.NET on integroitu IIS:n pyyntöputkeen. Klassisessa tilassa pyyntöjen oli kuljettava yhden putken kautta IIS:lle ja toisen kautta ASP.NETille. Integroitu on ollut ensisijainen tila siitä lähtien, kun IIS 7 julkaistiin Windows Server 2008:n ja Vistan kanssa. Älä käytä klassista tilaa, ellei sinun ole pakko. Sama pätee myös v2.0:aan. Ne ovat vain vanhaa tukea varten. Itse asiassa, jos et tarvitse näitä sovelluspooleja, voit yhtä hyvin poistaa ne. Emme tarvitse mitään turhaa roikkumista!
Yksittäisessä sovelluspoolissa on kerrallaan käynnissä nollasta useaan työprosessia (w3wp.exe). Työprosessit ajavat sovelluksesi instansseja.
Sovelluspoolien luominen
Klikkaa IIS-ikkunan oikealla puolella olevassa ”Toiminnot”-ruudussa ”Lisää sovelluspooli…” avataksesi dialogin. Se on melko suoraviivainen. Voit yleensä vain syöttää nimen ja painaa ”enter”-näppäintä tai napsauttaa ”OK”-näppäintä.”
Voit lisätä sovelluspoolin myös napsauttamalla hiiren kakkospainikkeella hiiren oikealla painikkeella ”Application Pools”-solmua ”Connections”-ruudussa. Aikaisempi vinkki todistaa jo arvonsa!
Sovelluspoolin käyttäjät
IIS luo virtuaalikäyttäjän kullekin sovelluspoolille (yleinen nimitys sovelluspoolille). Nämä työprosessit toimivat oletusarvoisesti sovelluspoolin virtuaalikäyttäjänä. Ne voivat toimia eri käyttäjänä (esimerkiksi toimialueen tilinä), jos ne tarvitsevat erityisoikeuksia.
Virtuaalikäyttäjät elävät edelleen, vaikka poistin sovelluspoolit palvelimelta!
Nämä virtuaalikäyttäjät saavat edelleen omat vakiokansiot, kuten ”Työpöytä”, ”Musiikki” ja ”Kuvat”. Ne eivät syö niin paljon tilaa (110 Mt), mutta kun sovelluspooli poistetaan, nämä käyttäjäkansiot ovat roskaruokaa ja ne voidaan poistaa.
Sovelluspoolin kierrätys
Yksi sovelluspoolien tärkeimmistä ominaisuuksista on kierrätys. Oletusarvoisesti sovelluspoolit kierrätetään 1740 minuutin (29 tunnin) välein ja kun asetustiedosto muuttuu. Voit määrittää kierrätyksen tarpeidesi mukaan. Sovelluspoolien kierrätys vapauttaa sovelluspooliin kuuluvien sovellusten kuluttamaa muistia. Kierrätys voi estää karkaavia prosesseja syömästä kaikkea palvelimen muistia.
Millaiset asiat käyttävät muistia prosessissasi? Kaikki pinossa ja kasassa oleva – staattiset muuttujat ja ominaisuudet, kaikki muistin välimuistissa oleva, kaikki objektit, joihin toinen objekti viittaa, kaikki muistilohkot, jotka odottavat roskien keräystä, ymmärrät kyllä.
Voit valita, mitkä tapahtumat haluat kirjata (tai olla kirjaamatta). Kuten näet, kaikki vaihtoehdot eivät näy edellisessä valintaikkunassa – ”Runtime recycling events” ei näytä olevan määritettävissä. Tämä ei ole täysin totta.
Kierrätys käynnistää uuden prosessin ja pyörittää sitten nykyisen prosessin alas. Uudella prosessilla on odotetusti uusi PID. Voit muuttaa tätä käyttäytymistä sekä muuta kierrätyskäyttäytymistä kohdassa ”Lisäasetukset…”. Itse asiassa voit muokata kaikkia kierrätysmäärityksiä tässä valikossa. ”Kierrätys…” -valintaikkuna on tältä osin tarpeeton. Voit kuitenkin kytkeä kierrätyksen pois päältä konfiguraatiomuutosten osalta tässä. Luultavasti et kuitenkaan halua sitä. Käynnissä oleva sovelluksesi ei saisi konfiguraatiopäivityksiä.
Huomaa, että ”päällekkäinen kierrätys” viittaa siihen, että sovelluksesta voi olla useampi kuin yksi instanssi. Tämä kannattaa poistaa käytöstä vain, jos sovelluksesi vaatii sitä. Päällekkäinen uudelleenkierrätys estää häiriöt, joita syntyisi, jos uudelleenkierrätys odottaisi, että nykyinen prosessi tyhjentää pyynnöt ennen uuden prosessin käynnistämistä. Toisin sanoen uusia pyyntöjä ei käsiteltäisi, ennen kuin nykyiset pyynnöt on suoritettu loppuun tai konfiguroitavissa oleva aikakatkaisuaika on kulunut (oletusarvoisesti 90 sekuntia).
Lisäkonfigurointi
Sovelluspoolin konfigurointeja on aivan liikaa, jotta niitä voitaisiin kerrata yksityiskohtaisesti tässä viestissä. Toistaiseksi lyhyen yleiskatsauksen on riitettävä. Kerron nopeasti muutamia kohtia kustakin ”Lisäasetusten” alueesta, kuten alla näkyy.
- ”Yleiset”-asetuksella voit
- Muuttaa .NET CLR:n versiot
- Sallia 32-luokan…bittiset sovellukset
- Vaihda putkistotilaa
- Säädä jonon pituus (oletusarvoisesti 1000 pyyntöä)
- Säädä ajettavaksi aina tai pyynnöstä
- Vaihtoehto ”Suoritin” kattaa
- Trottlingin
- Prosessorin affiniteettiasetukset
- Vaihtoehto ”Prosessi”
- Identity
- Idle timeout
- Max worker processes
- Health monitoring (Tämä kannattaa kytkeä pois päältä paikallisesti virheenkorjausta varten, koska pysähtynyt virheenkorjaaja ei vastaa pingiin)
Sites
”Sites” on IIS managerin palvelinsolmun ”Application Pools” vieressä oleva solmu. Täällä voit lisätä ja hallita verkkosivustoja ja FTP-sivustoja (jos ne on asennettu). Vaikka sovelluspooleissa on lisäasetusten valintaikkuna, sivustoissa on paljon enemmän määritysmahdollisuuksia! Sivustoilla on monia ominaisuuksia, joilla kullakin on omat konfiguraationsa.
Nämä ominaisuudet kuuluvat IIS managerissa kolmen otsikon alle:
- ASP.NET (jos se on asennettu)
- IIS
- Hallinta
Ympäristövalikko
Voit vaihtaa ”Ominaisuuksien” ja ”Sisällön” välillä, kun sinulla on sivusto valittuna. Voit napsauttaa sivustoa hiiren kakkospainikkeella ja avata kansion kontekstivalikosta valitsemalla ”Tutki”. Tästä kontekstivalikosta voi tehdä muitakin asioita, kuten muokata käyttöoikeuksia.
Tämä tuo oikeastaan vain sivuston kansion ominaisuudet esiin. Sieltä sinun on vaihdettava ”Suojaus”-välilehdelle, jotta voit itse asiassa muokata käyttöoikeuksia.
Windowsille tyypilliseen tapaan on useita muita tapoja muokata käyttöoikeuksia. Katso lisätietoja kansioiden käyttöoikeuksien määrittämisestä Windowsin ohjesivuilta.
Kontekstivalikosta voit suorittaa useita yleisiä tehtäviä. ”Verkkosivuston hallinta”-kohdan sisällä voit käynnistää ja pysäyttää verkkosivuston, avata sen selaimessa ja siirtyä lisäasetuksiin. Haluamme ehdottomasti tarkastella näitä, mutta puhutaan ensin siitä, mitä näet, kun valitset ”Muokkaa sidontoja…”, joka on käytettävissä myös ”Toiminto”-ruudussa nimellä ”Sidonnat…”.
Sidonnat
Tarvitset lisätä sivuston sidonnan ”Sidonnat…”-valintaikkunassa, jos otat käyttöön HTTPS:n sivustollesi. Voit myös asettaa isäntänimen ja porttinumerot siellä. Jos sinulla on muita sidoksia sivustollesi, voit lisätä ne myös täällä. Ehkä käytät net.tcp- tai net.pipe-sidoksia (jos olet lisännyt ominaisuudet palvelimeen ja ottanut ne käyttöön sivustolla). Tai voit asettaa IP-osoitteen tässä.
Sivustolla voi olla useampi kuin yksi sivusto, joka kuuntelee samaa porttia. Tätä varten käytät eri isäntänimiä. Esimerkiksi admin.example.com voi olla sidottu hallintasivustoosi ja blog.example.com blogiisi. Kaikki example.com-liikenne menisi samaan IP-osoitteeseen (load-balancer/palvelin), mutta IIS käyttäisi host-otsikkoa ohjaamaan liikenteen oikealle sivustolle. Nämä ovat hyödyllisiä myös white label -sovelluksissa: acme.example.com, foo.example.com, bar.example.com.
Perusasetukset
”Perusasetukset…” on sama valintaikkuna, jonka saat näkyviin, kun perustat sivuston ensimmäisen kerran. Sinun ei todennäköisesti tarvitse mennä sinne, ellet halua muuttaa sovelluspoolia tai sivuston sijaintia tai jos haluat muodostaa yhteyden eri käyttäjänä IUSR:n sijaan (pass thru). Jos sinun on käytettävä palvelutiliä sivustohakemiston käyttämiseen, voit valita ”Muokkaa sivustoa” -valintaikkunasta ”Yhdistä nimellä…”.
Huomautus: sinun on huolehdittava siitä, että suojaat kaikki IIS:ssä käyttämäsi hakemistot. Voit hyötyä lukemalla siitä, miten oletuksena oleva inetpub-hakemisto on suojattu.
Alisivustot ja virtuaalihakemistot
Voit isännöidä useita sovelluksia ja virtuaalihakemistoja yhden sivuston alla. Sovellukset voivat toimia omissa sovelluspooleissaan, mutta virtuaalihakemistot eivät. Kuten alla näkyy, olen perustanut admin-sovelluksen ja blogin virtuaalihakemiston Site2:n alle. Niitä voidaan käyttää käyttämällä http://localhost/admin ja http://localhost/blog. Molemmat vastaavat sisäänrakennetuilla virhesivuilla, ellei hakemistoissa ole jotain.
Alisovellusten ja virtuaalihakemistojen lähdekansioiden ei tarvitse olla emosivuston alihakemistoja. Voit pitää näitä hakemistoja missä tahansa haluamassasi paikassa. Saatat haluta kartoittaa joitakin yleisiä web-resursseja (kuvia tai JS-tiedostoja) suhteelliseen polkuun useita sivustoja varten. Virtuaalihakemistot sopivat tähän erinomaisesti.
Esimerkkidokumentit ja virhedokumentit
Kun käyttäjä vierailee sivustosi juurisivulla (www.example.com/), hänelle näytetään oletusdokumentti. Oletusasiakirjat on esitetty alla. Voit lisätä omia asiakirjoja, poistaa asiakirjoja tai poistaa ne kokonaan käytöstä. Jos poistat ne käytöstä, käyttäjä saa ruman 403-virheilmoituksen, ellet ole antanut lupaa listata kansioiden sisältöä (ei suositeltavaa). On parasta, että käytössä on oletusasiakirja.
Olen laittanut indeksidokumentin jokaiseen hakemistoon: sivustoon, sovellukseen ja virtuaalihakemistoon.
- Site2
- Admin
- index.html
- Blog
- index.html
- index.html
- Admin
- http://localhost/ lataa oletusasiakirjan osoitteeseen Site2/index.html
- http://localhost/admin/ lataa oletusasiakirjan osoitteeseen Site2/Admin/index.html
- http://localhost/blog/ lataa oletusasiakirjan osoitteeseen Site2/Blog/index.html
Jos olet huolissasi siitä, että IIS vie konettasi muistia ja CPU:ta, älä ole. Elleivät työprosessit ole käynnissä (ja käsittele raskaasti käsiteltäviä pyyntöjä), se istuu toimettomana. Jos CPU:n käyttö on kovaa, tämä vianmääritysopas voi auttaa, jos käytät ASP.NET:ää.
CLI ja etähallinta
AppCmd.exe
AppCmd on sisäänrakennettu CLI-työkalu IIS:n konfigurointiin ja hallintaan. Sen avulla voit luoda sivustoja ja sovelluspooleja, yhdistää virtuaalihakemistoja ja muokata määrityksiä. Katsotaanpa muutamia asioita, joita sillä voi tehdä.
Lisää ensin polkuun %systemroot%\system32\inetsrv\, jotta voit ajaa appcmd:tä komentokehotteesta missä tahansa sijainnissa.
Aja komentokehote järjestelmänvalvojana.
setx PATH "%PATH%;%systemroot%\system32\inetsrv\"
Kokeile seuraavia komentoja appcmd:n tutkimiseksi:
- Aja appcmd /? nähdäksesi ohjetekstin
- Katso, mitkä sovellukset ovat käynnissä komennolla appcmd list app
- Käytä komentoa appcmd list backup nähdäksesi IIS-konfiguraatiosi varmuuskopiot
Add site
appcmd add site /name:"Dummy Site" /id:10 /bindings:http/*:81:
Luettele nyt sovellukset uudelleen. Et näe lisäämäsi uutta sivustoa, koska sitä ei pidetä sovelluksena. Jos menet graafiseen käyttöliittymään ja päivität sivustot, näet uuden sivuston siellä, mutta se on rikki. Meidän on lisättävä sovellus käyttämällä appcmd:tä.
appcmd add app /site.name:"Dummy Site" /path:"/"
Tämä lisää sovelluksen vain juurisivustoon. Se luo sovelluksen nimeltä ”Dummy Site/”. Meidän on edelleen linkitettävä sovellus virtuaaliseen hakemistoon ja osoitettava se sitten fyysiseen polkuun.
appcmd add vdir /app.name:"Dummy Site/" path:"/"appcmd set vdir "Dummy Site/" /physicalPath:"c:\inetpub\wwwroot"
Tämä on sanallinen tapa käyttää appcmd:tä IIS-sivuston luomiseen. On olemassa helpompikin tapa.
The EZ way
Voit säästää paljon näppäinpainalluksia sivustoa luodessasi, jos asetat physicalPath-parametrin ensimmäisessä komennossa. Tämä tekee koko homman yhdellä kertaa:
appcmd add site /name:"Dummy Site" /id:10 /bindings:http/*:81: /physicalPath:"c:\inetpub\wwwroot"
Mutta muiden komentojen tunteminen antaa sinulle paremman käsityksen siitä, miten IIS-sovellus todella toimii konepellin alla. Aiemmin olen käyttänyt appcmd:tä ASP.NET-proj-tiedostojen rakentamisen jälkeisessä skriptissä varmistaakseni, että sivusto on perustettu paikallisesti uusilla kehittäjäkoneilla. Voit myös varmuuskopioida ja palauttaa IIS:n konfiguraation appcmd:n avulla.
Päivitysten käyttöönotto
Voidaksesi antaa sinulle vielä yhden idean appcmd:n käytöstä, harkitse seuraavien toimien tekemistä:
- Luo ”sites”-kansio.
- Luo jokaiselle sivustolle alikansio.
- Jalosta versiot kunkin alikansioon.
- Valmistele uudet versiot.
- Käytä appcmd:tä päivittääksesi sivuston käyttämään uutta kansiota.
Anna sovellus nimeltä ”Hello World”, joka osoittaa osoitteeseen C:\Sites\HelloWorld\1.0.0 ja uusi build ”1.0.1”, joka on porrastettu C:\Sites\HelloWorld\1.0.1 -kansioon , kun on aika ottaa käyttöön, voit käyttää seuraavaa komentoa kääntääksesi sivuston uuteen versioon:
appcmd set vdir "Dummy Site/" /physicalPath:"c:\Sites\HelloWorld.0.1"appcmd recycle apppool /apppool.name:defaultapppool
Ja jos sinun on palautettava sivustosi, suorita seuraava komento:
appcmd set vdir "Dummy Site/" /physicalPath:"c:\Sites\HelloWorld.0.0"appcmd recycle apppool /apppool.name:defaultapppool
Tässä Microsoftin mainiossa oppaassa on lisätietoja AppCmd:n käytöstä.
IIS reset
”iisreset” on erillinen suoritettava ohjelma, jota käytetään IIS:n pysäyttämiseen, käynnistämiseen, uudelleenkäynnistämiseen tai tapahtumaan tietokoneen uudelleenkäynnistämiseksi (/REBOOT). Voit antaa sille parametrin ”computername”, jotta se voi ohjata IIS:ää toisella tietokoneella. Sinun on suoritettava se järjestelmänvalvojana. Monet kehittäjät ja järjestelmänvalvojat haluavat käyttää tätä käyttöönoton jälkeen, eikä sekään ole huono idea!
PowerShell
PowerShellissä on tehokas joukko työkaluja IIS:n hallintaan. Voit myös lähettää iisreset-komennon etänä käyttämällä Invoke-Command -ComputerName ”computername” -ScriptBlock {iisreset}, edellyttäen, että sallit palvelimissasi mielivaltaisten komentojen kutsumisen etäkäskyllä – ja se ei yleensä ole hyvä ajatus!
Huolimatta omista tietoturvaepäilyistäni, jotka liittyvät mielivaltaisten komentojen lähettämiseen etäyhteyden kautta PowerShellin avulla, IIS:n hallinnan komentotehtävät (IIS administration cmdletit) ovat todella käyttökelpoisia DevOps-tyyliseen web-palvelimen hallintaan. Voit tutustua tähän dokumentaatioon IIS:n hallinnasta PowerShellin avulla saadaksesi käsityksen siitä, mitä sillä voi tehdä.
Sammuttaminen
Kaikkien tässä postauksessa käsittelemiemme ominaisuuksien, konfiguraatioiden ja komentojen lisäksi olemme raapaisseet vasta pintaa. Jokaisella ominaisuudella on omat konfiguraationsa, ja on monia laajennuksia, joita voi lisätä asentamalla Web Platform Installer -laajennuksen.
Näillä näkymin saatetaan tämä postaus ja IIS-palvelin päätökseen:
iisreset /stop
Paranna sovelluksesi suorituskykyä APM:n, palvelimen kuntomittareiden ja virheloki-integraation avulla Stackify Retracen avulla. Kokeile maksutonta kahden viikon kokeilujaksoa jo tänään