• Digitaaliset tarvikkeet
  • Palvelin
  • Digitaalinen elämä
  • Tietosuojakäytäntö
  • Ota meihin yhteyttä
  1. Home
  2. Article
  3. Täydellinen opas WordPressin käyttämiseen Windowsissa/IIS:ssä – Keitto...

Täydellinen opas WordPressin käyttämiseen Windowsissa/IIS:ssä – Keitto...

Rsdaa 19/01/2022 1751

Olet siis havainnut täydelliseksi kauhuksesi, että yrityksesi perimä WordPress-sivusto toimii Windowsissa… IIS:ssä?

Ennen kuin nouset seisomaan, heitä tietokonetuoli ulos ikkunasta, syö ilkeästi työtovereiden salaattia ja nauti siitä tai pudota kaikki tuotantotietokannat, rentoudu. Olemme turvassa.

🤷 Mikä ongelma on?

Hyvä huomio. IIS (Information Internet Services) on Microsoftin Windows-asiakkaille tarjoama kotimainen (toistaiseksi) web-palvelin. IIS on loistava siinä, mitä se tekee, ja se voi toimia tehokkaana verkkoisäntänä sekä ehdottoman kultaisena käänteisenä välityspalvelimena.

Mikä sitten on ongelmana?

🙅🏾 Tuki

Zilch. Nada. Ei onnistu. WordPressiä ei todellakaan ole suunniteltu käytettäväksi IIS:ssä, eikä tuskin koskaan tule olemaankaan. Tämä ei tarkoita, että palvelimesi syttyy tuleen, kun käytät sivustoa, mutta tarkoittaa, että kun tarvitset tukea, voit olla pirun varma, että ensimmäinen neuvosi on "älä käytä Windowsia".

Älä siis käytä IIS:ää? Yksinkertainen?

Paitsi että NGINX on tällä hetkellä vammainen Windowsissa (lähde) ja Apache, joka on onneksi saatavilla Windowsissa epävirallisten kanavien kautta… Mutta sinulla on silti hyvin vähän tukea, koska se toimii eri tavalla Windowsissa.

WordPressin vaatimukset sanovat kuitenkin:

Suosittelemme Apachea tai Nginxiä vahvimmaksi ja toimivimmaksi palvelimeksi WordPressin käyttämiseen, mutta mikä tahansa palvelin, joka tukee PHP:tä ja MySQL:ää, käy.

joten älä menetä toivoasi vielä.

📂 Web.config-tiedosto

Jos käytät Apache-taustaa, saatat olla tottunut .htaccess-tiedostoon. Aivan kuten .htaccess ei ole yhteensopiva NGINX:n kanssa, se ei myöskään ole yhteensopiva IIS:n kanssa.

Jokaisen IIS:n kannalta tärkeän kansion kohdalla web.config-tiedosto näkyy hakemistossa. Tämä kertoo IIS:lle, mitä hienoja ominaisuuksia ja osallisuutta kansiolla on verkko-ominaisuuksien kanssa. Se tallentaa kaiken kokoonpanon mukaan, joten ole varovainen, ettet poista tai vahingoita tätä tiedostoa.

web.config on XML-tiedosto, ja sitä voidaan helposti muokata valitsemallasi editorilla. Kun olet tottunut käyttämään IIS:ää, huomaat muokkaavasi tiedostoa manuaalisesti useammin kuin käyttämällä GUI-konsolia. Tämä vähentää myös IIS-asetusten muuttamisesta aiheutuvia hallintakustannuksia.

Esimerkki tähän tallennetuista hyödyllisistä ominaisuuksista:

Ladattavan oletushakemiston prioriteettiluettelo. URL-osoitteen uudelleenkirjoitus/uudelleenohjaussäännöt. Pyydä suodatusta, estoa ja asetusten säätöjä. Hakemisto ohittaa pääasetukset (esim. PHP-versio).

⚙️ WordPressin käyttöönotto

Ensin tarvitset tietokannan. On suositeltavaa, että tietokanta on eri palvelimella suorituskyky- ja turvallisuussyistä, mutta voit myös käyttää MySQL:ää samalla palvelimella kuin IIS.

MySQL toimii hyvin Windowsissa ja on erittäin hyvin tuettu. Sinun ei pitäisi odottaa paljon takaiskuja MySQL:n määrittämisessä. Jos kuitenkin haluat käyttää Microsoft SQL Serveriä, sinun kannattaa tutustua Project Namiin.

Kun olet valmis, määritä tietokanta ja käytä käyttäjää samalla tavalla kuin Linux-pohjaisessa asennusasennuksessa.

Vaikka on parasta käyttää aina uusinta Windows Server -versiota, harkitse myös IIS 10:n (Windows Server 2016) uudemman version käyttöä. Tämä johtuu siitä, että IIS:n vanhemmat versiot eivät tue HTTP/2:ta. Teknisesti ottaen vähimmäisvaatimus on IIS 7 (Windows Server 2008).

🐘 PHP Windowsissa/IIS:ssä

Edellytykset

Sinun on määritettävä IIS käyttämään CGI-käsittelyä IIS:ssä (joka ei ole käytössä IIS-oletusasennuksissa).

Tarvitset myös URL-osoitteiden uudelleenkirjoitusmoduulin IIS:lle, ellet aio käyttää noita erittäin rumia index.php URL-osoitteita.

PHP on täysin tuettu Windowsissa*. Voit ladata PHP:n vierailemalla heidän verkkosivustollaan osoitteessa windows.php.net. Tarvitset myös C++ Redist 2019:n, joka löytyy heidän verkkosivujensa latausten sivupalkista.

Tässä oppaassa käytetään FastCGI:tä, joka vaatii PHP:n non-thread safe version (NTS). Yleensä kunkin sivuston PHP-version ensimmäinen lataus on ihanteellinen versio IIS:lle.

Lataa oikea zip-tiedosto ja pura se valitsemaasi paikkaan palvelimellasi (Ohjelmatiedostot hyväksytään). Valintani on yleensä C:\PHP\X.X.X (versionumero).

Jos aiot käyttää PHP-työkaluja, kuten WP-CLI:tä, olisi myös hyvä idea lisätä yllä oleva polku järjestelmän Polku-ympäristömuuttujaan.

Tee tämä avaamalla Suorita (Win-näppäin + R) ja suorittamalla rundll32 sysdm.cpl,EditEnvironmentVariables. Liitä polku Järjestelmämuuttujat-kohdasta löytyvään polkuun.

WP-CLI:n asentaminen (valinnainen)

Nyt on hyvä aika asentaa WordPress CLI, jos aiot käyttää sitä. Ne tarjoavat upean oppaan WP-CLI:n määrittämiseen Windowsissa.

Web Platform Installer – Easy

Windows Serverissä on valinnainen komponentti nimeltä Web Platform Installer. Tämä siisti sovellus tarjoaa kokoelman tunnetuimpia ja rakastetuimpia ohjelmistopaketteja ja tarjoaa erittäin helppoja tapoja asentaa ne. Arvaa mitä, WordPress mukana! Sinun tarvitsee vain asentaa ensin IIS CGI:llä.

Luo tavallinen sivusto ja kaksoisnapsauta sitä. Sinulla pitäisi olla hallinnassa vaihtoehto nimeltä Web Platform Installer (kirjoituksen aikana se on pyöreä, oranssi latauskuvake). Avaa tämä, niin uusi paneeli latautuu. Etsi WordPress, napsauta Lisää ja sitten Asenna.

❓ Eikö verkkoalustan asennusohjelmaa ole? Sitä ei ole asennettu oletuksena. Napsauta palvelimesi nimeä Yhteydet vasemmassa paneelissa. Napsauta nyt näkyvässä oikeanpuoleisessa paneelissa Hanki uusia verkkoalustan komponentteja. Seuraa Microsoftin ohjeita ja saat yllä mainitun painikkeen.

Nyt kokoonpanoissa sinun tulee yleensä aina erottaa palvelimet (esim. verkko ja tietokanta ovat erillisiä). Mutta joskus haluat vain päästä nopeasti liikkeelle kehityssivustolla. Tällä asennusohjelmalla on siisti temppu. Jos sinulla ei ole tietokantapalvelinta, eikä nykyiseen koneeseen ole asennettu MySQL:ää, se luo sinulle MySQL-palvelinesiintymän!

Jos teet oikein, sinun pitäisi olla tässä näytössä. Se yrittää oletuksena luoda localhost/wordpressin. Varmista, että olet valinnut oikean Web-sivuston ja halutessasi oikean alikansion määrityksen. Jos jokin on vialla, se on vaihdettava manuaalisesti jälkeenpäin.

Valitse Jatka ja mene kahville. Kun palaat, WordPress on asennettu! Näin helppoa, sinulla on ensimmäinen WordPress-asennus.

Tekniset tiedot:

Microsoft WebMatrix on asennettu.❗ PHP 7.1 asennetaan IIS Expressin kautta. Uudempaa PHP-versiota suositellaan. PHP:lle luodaan yleinen FastCGIModule. Tämä tarkoittaa, että kaikki IIS-palvelimesi sivustot voivat suorittaa PHP-koodia tämän moduulin kautta. Muuta prioriteettiluetteloita, jos haluat käyttää eri versioita.Voit ohittaa tämän käyttämällä PHP Manageria tai manuaalista prosessia.MySQL 5.1 on asennettu, jos ulkoista tietokantaa ei ole toimitettu.PHP Manager IIS -laajennus – Keskitason

On olemassa IIS-laajennus nimeltä PHP Manager, joka pystyy tekemään suurimman osan PHP:n määritystöistä puolestasi. Tämän avulla voit rekisteröidä uusia PHP-versioita, säätää laajennuksia, muokata määrityksiä ja jopa jakaa säilöjä eri IIS-versioihin mahdollisimman yksinkertaisesti GUI:n kautta.

Lataa vain heidän laajennus ja asenna se palvelimellesi. Kun seuraavan kerran suoritat IIS:n, löydät lisäosasta uuden PHP-moduulin.

Voit rekisteröidä PHP-ylemmän version ja se vaikuttaa kaikkiin lapsisivustoihin. Jos rekisteröit vaihtoehtoisen version alisivustolle, se ohittaa ylätason ja niin edelleen hierarkkisesti. Moniversio PHP, hurraa hyötyä!

PHP manuaalisesti – lisäasetukset

Jos päätät olla käyttämättä IIS-hallintaa (et ole yhteisöllisten IIS-moduulien fani), voit silti määrittää PHP:n manuaalisesti IIS-säilöön.

Ensin sinun on kerrottava FastCGI-järjestelmälle PHP-asennuksestasi.

Avaa IIS.Napsauta juuripalvelinta (vasemman ruudun aloitussivun alapuolella).Avaa FastCGI-asetukset. Napsauta oikealla puolella Lisää sovellus… Siirry koko polussa php-cgi.exe-tiedostoon puretuissa php-asetuksissa. .Valitse tiedoston valvonta -kohdassa tämä php.ini-tiedosto. Napsauta Ympäristömuuttujat-rivin lopussa olevaa kohtaa …. Napsauta Add.Add PHPRC-muuttuja PHP-asennuspolun arvolla, jossa PHP-CGI-tiedostosi oli edellä.Luo toinen muuttuja nimeltä PHP_FCGI_MAX_REQUESTS ja yhdistä se Instance MaxRequests -kohdassa olevaan arvoon (suositus molemmille on 10000). Napsauta OK.

Cool! IIS tietää nyt, että PHP-kansiosi on CGI-prosessi, ja nyt se tietää kuinka käsitellä PHP-pyyntöjä tällä prosessorilla. Asetetaan nyt yksittäinen verkkosivusto käyttämään PHP CGI:tä.

Etsi säilösi IIS:stä (esim. oletussivustosta) ja napsauta sitä.Avaa Käsittelijän kartoitukset. Valitse oikealta 'Lisää moduulikartoitus'. Lisää seuraava merkintä:*.php for Request Path.FastCgiModule for Module.Path PHP CGI:hen suoritettavaa varten.Mitä tahansa haluat nimelle.Palaa takaisin ja mene oletusasiakirjaan.Lisää luetteloon index.php (valintasi).Testaa selaimellasi, latautuuko PHP.Kokeile index.php-tiedostoa < p>Jos teet yllä olevan ylimmän merkinnän (yleensä koneen nimen) kohdalla, se kopioidaan kaikkiin uusiin säilöihin, joten sinun ei tarvitse tehdä tätä prosessia jokaiselle sivustolle.

Suositeltava php.ini-kokoonpano

Täydellinen php.ini-kokoonpano on pitkälti yrityksen ja erehdyksen peli. Usko minua, on vaikea löytää parasta konfigurointitasapainoa PHP:n, WordPressin ja Windowsin osalta. Tässä on joitain olennaisia ​​asioita:

cgi.force_redirect = 0 (olennaista!). fastcgi.impersonate = 1 extension_dir = /ext

Nämä asetetaan käytettäessä PHP Manageria. Tämä määrittää PHP:n ymmärtämään, että se toimii CGI-tilassa. Toinen kokoonpano auttaa myös linkittämään PHP-toiminnot IIS:n toimintaan, mikä mahdollistaa paremman yhteensopivuuden PHP:n ja IIS:n välillä.

Kolmas on suositeltava varsinkin, jos PHP-asennus ei ole C-asemassa. Absoluuttinen pysäyttää PHP:n yrittämisen tulkita missä laajennushakemisto on, mikä voi mennä hyvin pieleen, jos se ei sijaitse C-asemassa.

WordPressin käyttöönotto

Nyt helppo osa – WordPressin asennus! Onneksi tämä on yhtä helppo tehdä, ellei helpompi kuin Linux-palvelinvastine.

Luo haluamasi sivusto IIS:ssä. Jos sitot tämän verkkotunnukseksi tai aliverkkotunnukseksi, luo uusi sivusto. Muussa tapauksessa voit luoda alikansion (tai virtuaalisen alikansion) IIS:ssä alikansion WordPress-asennuksen määrittämiseksi.

Pura WordPress-asennuspaketti kansiosta, jonka olet sidottu säilöön (tai käytä WP-CLI:tä, jos se on asennettu aiemmin). Jos teet oikein, kun vierailet URL-osoitteessa selaimessa, näet hyvän vanhan 5 minuutin asennusnäytön.

Suorita asennus normaalin sivuston mukaisesti, ja onnittelut – sinulla on WordPress-sivusto, joka toimii IIS:ssä!

⭐ Erityinen kiitos

Toivotusten pitävän tiedot ajan tasalla ja asiaankuuluvina, seuraavat kommentoijat ovat auttaneet pitämään minut kurissa:

Patrick Bates huomautti Web Platform Installerista.John Wilkin huomautti, etten käsitellyt web.config-tiedostoa.

ℹ️ Usein kysytyt kysymykset

* Onko Microsoft luopunut PHP:n tuesta Windowsista? Microsoftilla on, yhteisöllä ei.

Microsoft on lopettanut PHP:n kääntämisen Windowsille PHP 8:n jälkeen, joten teknisesti kyllä. Yhteisöversioiden toimittajat jatkavat kuitenkin Windows-alustalle rakennusten tekemistä.

SaraMG tarjoaa puuttuvan kontekstin tässä Reddit-viestissä. Tämä on tutustumisen arvoinen, koska yhteisö on tarjonnut vaihtoehtoisia vaihtoehtoja, joita voit käyttää post-virallisten koontiversioiden käyttöön. Päivitämme tämän merkinnän suosituksilla, kun PHP 8 on julkaistu.

Sain virheilmoituksen: 500 FastCGI Processed poistui odottamatta.

Jokainen PHP for Windows -versio riippuu Visual C++ Redist -paketista, joka mainitaan latauksen otsikossa. Normaalisti tämän virheen vastaanottaminen tarkoittaa, että järjestelmässäsi ei ole tarvitsemaansa, mikä aiheuttaa virheen CGI-prosessissa.

Tarkista lataussivuston jokaisesta lataussegmentistä VCXX (X on numeerinen). Vasemmanpuoleinen sivupalkki kertoo sinulle, minkä uudelleenjakelupaketin tarvitset ja miten se hankitaan. Asennuksen jälkeen tämä virhe lakkaa.

Jos – mistä tahansa syystä – asennat Legacy 5.6 -julkaisuja, lataa 32-bittinen uudelleenjaettava palvelinarkkitehtuurityypistä riippumatta.

Sain virheilmoituksen: 500.21 Käsittelijän "xyz" moduuliluettelossa on huono moduuli "FastCGIModule".

Kun asennat Internet Information Services (IIS) -palvelun, PHP toimii CGI:n kautta. Näin IIS voi välittää muun kuin Microsoftin kielikoodin käsittelyn asiaankuuluvalle prosessorilleen. Meille se mahdollistaa IIS:n poimia .php-koodia PHP:ssä.

Tämä virhe tarkoittaa yksinkertaisesti sitä, että sen käyttämää CGI-moduulia (FastCGI) ei ole asennettu. Tämä on helppo korjata!

Avaa Palvelimenhallinta. Avaa oikeassa yläkulmassa Hallitse ja sitten Lisää rooleja ja ominaisuuksia.

Seuraavaksi seuraavaksi, kunnes pääset Rooleihin. Verkkopalvelimessa (IIS) > Web-palvelin > Sovelluskehitys > Tarkista CGI. Napsauta Asenna (tai seuraava, kunnes voit), ja IIS-palvelimesi pitäisi nyt tukea CGI:tä, mukaan lukien FastCGI

Kauniit pysyvät linkit ja .htaccess

WordPress on tarpeeksi älykäs tietääkseen, että se on IIS:ssä, joten kun säädät pysyviä linkkejä .htaccess-tiedoston luomisen sijaan, ne luovat web.config-tiedoston, joka on IIS-vastine. Jos tarvitset lisäsääntöjä, IISrewrite-moduuli voi yrittää jäsentää htaccess-tiedostosi IIS-moduulissa.

Jos luot .htaccess-tiedoston, se ohitetaan – IIS rewrite voi yrittää muuntaa nämä tiedostot, mutta ei käytä niitä.

Kuinka voin poistaa xmlrpc:n käytöstä IIS:n kautta?

Kun olen käyttänyt WordPressiä, tämä tuli minulle vasta äskettäin – ihmiset käyttivät väärin xmlrpc.php-käyttöliittymää. WordPressissä on useita vaihtoehtoja käsitellä tätä, mutta ne kaikki sisältävät WordPressin lataamisen. Henkilökohtaisesti mielestäni on parempi käyttää IIS:ää käyttöliittymän estämiseen.

Web.config:n kautta

Etsi lohko ja lisää tämä (tavallisesti alareunaan):

Kaikki contoso.com/xmlrpc.php-pyynnöt näyttävät nyt pyyntö hylätty -virheen sen sijaan, että ne siirtyisivät käyttöliittymään. Tämä estää WordPressin käsittelemästä mainittuja pyyntöjä, joten lopeta käsittelytehon tuhlaaminen näihin vääriin pyyntöihin.

Kuinka määritän käyttöoikeudet?

Säilö käyttää oletuksena tiliä IUSR, jolla ei ole oletuksena käyttöoikeuksia. Aloitaksesi voit yksinkertaisesti antaa IUSR:lle täydet käyttöoikeudet kansioon, ja verkkosivustosi toimii. Päivityksiä tapahtuu, välimuisti kirjoittaa, kaikki kultaa.

Tämä ei toisinaan toimi, vaan voit vaihtaa anonyymin todennuksen säilön Authenticationissa Application Pool -identiteetiksi ja antaa IUSRS-ryhmälle täyden käyttöoikeuden.

Molempia näitä ei suositella tuotantokäyttöön, koska kompromissin sattuessa hakkereilla on täydet kirjoitusoikeudet. Voit tutustua WordPressin käyttöoikeuksiin liittyvään oppaaseen, koska käyttöoikeuksien perusteet ovat samanlaiset.

Kuinka otan HTTP/2:n käyttöön?

HTTP/2:ta tuetaan vain IIS 10:ssä tai uudemmassa, joka vaatii Windows Server 2016:n tai uudemman.

Kuinka lisään ajonaikarajoja?

Valitse PHP Managerissa säilön kohdalla, jota haluat säätää, Aseta ajonaikarajoitukset. Tämä näyttää php.ini config -asetukset, joilla voit muuttaa näitä rajoja nopeasti. Kaikille muille löydät rajoitukset php.inistä kuten aina.

Jos haluat pidentää enimmäissuoritusaikaa, huomaa, että sekä PHP että IIS seuraavat aikakatkaisuja eri tavalla. Sen lisäksi, että lisäät tätä joko PHP Managerin tai php.inin kautta, sinun on kerrottava myös IIS:lle.

Siirry juureen (IIS:n vasemman paneelin aloitussivun alapuolella). Avaa FastCGI-asetukset ja etsi CGI, jota haluat muokata. Napsauta Muokkaa, ja sinun pitäisi nähdä kaksi asetusta, nimeltä Toiminnan aikakatkaisu ja Pyynnön aikakatkaisu. Aseta nämä molemmat haluamallesi rajalle ja varmista, että kaikki kolme (sis. PHP:n max_execution_time) täsmäävät. Aikakatkaisuasi pitäisi nyt lisätä riittävästi!

Pitäisikö minun valita Windows Linuxin sijaan WordPressille?Voinko liittää WordPressin Microsoft SQL Serveriin?

Project Nami on WordPressin haarukka, joka on suunniteltu toimimaan Microsoft SQL Serverin kanssa MySQL:n sijaan. Tämä tiimi on korvannut kaikki MySQL-toiminnot ja lisännyt joitain hyödyllisiä toimintoja SQL Serveristä. Tämä on tsekkaamisen arvoinen!

Voinko käyttää useita PHP-versioita?

Kyllä! Tämä on luultavasti yksi ainoista PHP:n käytön eduista IIS:ssä. Voit käyttää useita PHP-versioita.

Kun tarkastelet Moduulikartoitukset-segmenttiä (joko sivuston tai palvelimen laajuinen), oikeanpuoleisessa sarakkeessa pitäisi olla vaihtoehto, jossa lukee Näytä tilattu luettelo…. PHP:n ylin versio on valittu versio, joten käytä tätä hyödyksesi muuttaaksesi, millä versiolla sivustosi toimii.

Artikkeli päivitettiin 15. tammikuuta 2021 emojien korjaamiseksi järjestelmäpäivityksen jälkeen.


PREV: Vianetsintä - QRemote-virhe "Ei voitu muodostaa yhteyttä palvelimeen...

NEXT: Etätyöpöytäistuntoa ei voi muodostaa - Windows Server...

Popular Articles

Hot Articles

Navigation Lists

Back to Top