Apache on Internetin suosituin verkkopalvelin. Sitä käytetään palvelemaan yli puolta kaikista aktiivisista verkkosivustoista.
Vaikka on olemassa monia toimivia verkkopalvelimia, jotka palvelevat sisältöäsi, on hyödyllistä ymmärtää, miten Apache toimii, koska se on kaikkialla.
Tässä artikkelissa tutkimme joitain yleisiä määritystiedostoja ja niiden sisältämiä asetuksia.Tässä artikkelissa noudatetaan Apache-tiedostojen Ubuntu/Debian-asettelua, joka eroaa tavasta, jolla muut jakelut rakentavat määrityshierarkian.
Jos sinulla ei ole vielä Apachea asennettuna, voit tehdä sen nyt antamalla seuraavat komennot:
sudo apt-get updatesudo apt-get install apache2Tämä on kaikki mitä tarvitaan toimivaan verkkopalvelimeen.Jos käyt VPS:n IP-osoitteessa verkkoselaimella, saat oletusarvoisen Apachen hakemistosivun:
your_domain_name_or_ip_addressSe toimii!Tämä on oletussivu tälle palvelimelle.Web-palvelinohjelmisto on käynnissä, mutta sisältöä ei ole vielä lisätty.Ubuntussa ja Debianissa , Apache säilyttää tärkeimmät määritystiedostonsa "/etc/apache2"-kansiossa:
cd /etc/apache2ls -Fapache2.confenvvars magicmods-enabled/sites-available/conf.d/ httpd.confmods-available/ports.conf sites-enabled/On olemassa useita tekstitiedostoja ja joitakin alihakemistoja tässä hakemistossa. Nämä ovat joitain hyödyllisimpiä paikkoja, jotka sinun tulee tuntea:
apache2.conf: Tämä on palvelimen pääasetustiedosto.Melkein kaikki määritykset voidaan tehdä tästä tiedostosta, vaikka on suositeltavaa käyttää erillisiä, nimettyjä tiedostoja yksinkertaisuuden vuoksi.Tämä tiedosto määrittää oletusasetukset ja on keskeinen yhteyspiste jotta palvelin lukee kokoonpanon tiedot.ports.conf: Tätä tiedostoa käytetään määrittämään portit, joita virtuaalisten isäntien tulee kuunnella. Varmista, että tämä tiedosto on oikein, jos määrität SSL.conf.d/: Tämä hakemisto on käytetään Apache-määrityksen tiettyjen näkökohtien hallintaan. Sitä käytetään esimerkiksi usein määrittämään SSL-asetuksia ja oletussuojausvalintoja.sites-available/: Tämä hakemisto sisältää kaikki virtuaaliset isäntätiedostot, jotka määrittävät eri Web-sivustot. sisältöä palvellaan mille pyynnölle.Nämä ovat käytettävissä olevia määrityksiä, eivät aktiivisia konfiguraatioita.sites-enabled/: Tämä hakemisto määrittää, mitä virtuaalisia isäntämäärityksiä todella käytetään.Yleensä tämä hakemisto koostuu symbolisista linkeistä tiedostoihin, jotka on määritetty kohdassa "sites-available " directory.mods-[enabled,available]/: Nämä hakemistot ovat toiminnaltaan samanlaisia kuin sivustohakemistot, mutta ne määrittelevät moduulit, jotka voidaan halutessaan ladata.Kuten näet, Apache-määritys ei tapahdu Yksittäinen monoliittinen tiedosto, mutta sen sijaan tapahtuu modulaarisen suunnittelun kautta, jossa uusia tiedostoja voidaan lisätä ja muokata tarpeen mukaan.
Apache-palvelimesi tärkeimmät määritystiedot ovat /etc/apache2/apache2.conf-tiedostossa.
Tämä tiedosto on jaettu kolmeen pääosioon: yleisen Apache-palvelinprosessin määritykset, oletuspalvelimen määritykset ja virtuaalipalvelinten määritykset.
Ubuntussa ja Debianissa suurin osa tiedostosta on tarkoitettu yleisiä määritelmiä varten, ja oletuspalvelimen ja virtuaalisten isäntien määritykset käsitellään lopussa "Sisällytä ..." -käskyn avulla.
Sisällytä-käsky antaa Apachen lukea muita asetustiedostoja nykyiseen tiedostoon kohdassa, jossa käsky näkyy. Tuloksena on, että Apache luo dynaamisesti kattavan määritystiedoston käynnistyksen yhteydessä.
Jos vierität tiedoston alaosaan, siinä on useita erilaisia "Include"-lauseita. Nämä latausmoduulin määritelmät, ports.conf-dokumentti, tietyt konfiguraatiotiedostot "conf.d/"-hakemistossa ja lopuksi Virtual Host -määritykset "sites-enabled/"-hakemistossa.
Keskitymme tiedoston ensimmäiseen osaan oppiaksemme kuinka Apache määrittää yleiset asetukset.
Tätä osiota käytetään määrittämään joitain asetuksia, jotka ohjaavat Apachen toimintaa kokonaisuudessaan.
Tässä osiossa on joitain mielenkiintoisia vaihtoehtoja, joita haluat ehkä muokata:
Oletusarvoisesti tämän parametrin arvo on "300", mikä tarkoittaa, että palvelimella on enintään 300 sekuntia aikaa täyttää jokainen pyyntö.
Tämä on luultavasti liian korkea useimmille asetuksille, ja sen voi turvallisesti pudottaa 30–60 sekuntiin.
Jos tämä asetus on "Päällä", kukin yhteys pysyy avoinna käsitelläkseen useita saman asiakkaan pyyntöjä.
Jos tämän asetuksena on Pois, jokaisen pyynnön on muodostettava uusi yhteys, mikä voi aiheuttaa merkittäviä ylimääräisiä kustannuksia asetuksistasi ja liikennetilanteistasi riippuen.
Tämä määrittää, kuinka monta erillistä pyyntöä kukin yhteys käsittelee ennen kuolemaansa. Jos tämä luku pidetään korkeana, Apache voi tarjota sisältöä jokaiselle asiakkaalle tehokkaammin.
Asettamalla tämän arvon arvoon 0, Apache voi lähettää rajattoman määrän pyyntöjä jokaista yhteyttä kohti.
Tämä asetus määrittää, kuinka kauan odottaa seuraavaa pyyntöä viimeisen suorittamisen jälkeen. Jos aikakatkaisukynnys saavutetaan, yhteys katkeaa.
Tämä tarkoittaa vain sitä, että seuraavan kerran kun sisältöä pyydetään, palvelin muodostaa uuden yhteyden käsitelläkseen pyynnön sisällölle, joka muodostaa asiakkaan vieraileman sivun.
Seuraavassa osiossa määritellään MPM (Multi-Processing Module) -asetusten määritykset. Voit vertailla, mihin osioon Apache-asennuksesi on käännetty, poistumalla terminaalista ja kirjoittamalla:
apache2 -lKäännetty tiedostoon modules:core.cmod_log_config.cmod_logio.cprefork.chttp_core.cmod_so.cKuten näet, tässä palvelimessa "prefork.c" on moduuli, joka on käännetty ja joka on myös "apache2" .conf"-tiedosto. Asennuksessasi voi olla valittavana useita, mutta vain yksi voidaan valita.
Voit säätää esihaarukka-MPM:n asetuksia asianmukaisessa osiossa.
Virtual Host -oletusmääritys löytyy "oletus"-nimisestä tiedostosta "sites-available"-hakemistossa.
Saamme tietää Virtual Host -tiedoston yleisestä muodosta tutkimalla tätä tiedostoa.Avaa tiedosto seuraavalla komennolla:
sudo nano /etc/apache2/sites-available/defaultServerAdmin webmaster@localhostDocumentRoot /var/wwwOptions FollowSymLinksAllowOverride NoneOptions Indeksit FollowSymLinks MultiViewsAllowOverride Ei Tilaa salli, estä salliminen kaikilta. . .Oletusarvoinen Virtual Host on määritetty käsittelemään kaikki pyynnöt portissa 80, tavallisessa http-portissa. Tämä määritellään ilmoituksen otsikossa, jossa lukee "*:80", mikä tarkoittaa porttia 80 missä tahansa liitännässä.
Tämä ei kuitenkaan tarkoita, että se välttämättä käsittelee jokaista pyyntöä palvelimelle tässä portissa.Apache käyttää tarkinta Virtual Host -määritystä, joka vastaa pyyntöä. Tämä tarkoittaa, että jos olisi olemassa tarkempi määritelmä, se voisi korvata tämän määritelmä.
Nämä asetukset on asetettu Virtuaalipalvelimen määritelmässä muiden alemman tason alimäärittelyjen ulkopuolella. Ne koskevat koko Virtuaalipalvelinta.
ServerAdmin-vaihtoehto määrittää yhteyssähköpostiosoitteen, jota tulee käyttää palvelinongelmissa.
Tämä voidaan lisätä virhesivulle, jos "ServerSignature"-asetuksena on "Sähköposti" tiedostossa "/etc/apache2/conf.d/security", joten varmista, että olet valmis vastaanottamaan sähköpostin, jos säädä sitä asetusta.
Jos käyttäisimme tätä mallina muille Virtual Host -määrityksille, haluaisimme lisätä "Palvelinnimi"-määritelmän, joka määrittää verkkotunnuksen nimen tai IP-osoitteen, jota tämän pyynnön tulee käsitellä. Tämä on vaihtoehto, joka lisää tarkkuutta Virtual Host, jolloin se voittaa oletusmäärityksen, jos se vastaa ServerName-arvoa.
Voit myös asettaa virtuaalipalvelimen koskemaan useampaa kuin yhtä nimeä käyttämällä "ServerAlias"-määritelmää. Tämä tarjoaa vaihtoehtoisia polkuja päästäksesi samaan sisältöön. Hyvä käyttötapa tälle on lisätä sama verkkotunnus, jota edeltää "www".
Asetus "DocumentRoot" määrittää, missä tälle virtuaalipalvelimelle pyydetty sisältö sijaitsee. Virtuaalipalvelimen oletuspalvelin on asetettu tarjoamaan sisältöä Ubuntun "/var/www"-hakemistosta.
Virtual Host -määritelmässä on määritelmät siitä, kuinka palvelin käsittelee tiedostojärjestelmän eri hakemistoja. Apache käyttää kaikkia näitä ohjeita järjestyksessä lyhyimmästä pisimpään, joten jälleen mahdollisuus ohittaa aiemmat vaihtoehdot.
Ensimmäisessä hakemistomäärittelyssä sovelletaan sääntöjä "/"- tai juurihakemistoon. Tämä tarjoaa virtuaalipalvelimesi peruskokoonpanon, koska se koskee kaikkia tiedostojärjestelmässä toimitettuja tiedostoja.
Oletusarvoisesti Ubuntu ei aseta mitään pääsyrajoituksia tiedostojärjestelmään.Apache suosittelee, että lisäät joitakin oletuskäyttörajoituksia. Voit muokata tätä seuraavasti:
Asetukset FollowSymLinksAllowOverride NoneOrder Deny,AllowDeny from AllTämä estää pääsyn kaikkeen sisältöön, ellei myöhemmissä hakemistomäärittelyissä toisin mainita.
Seuraava hakemistomäärittely koskee asiakirjan juuria, joten se määrittää "salli kaikista" -vaihtoehdon, joka ohittaa tämän hakemiston "/"-vaihtoehdon.
AllowOverride-vaihtoehtoa käytetään päättämään, voiko ".htaccess"-tiedosto ohittaa asetukset, jos se sijoitetaan sisältöhakemistoon. Tämä ei ole oletusarvoisesti sallittua, mutta se voi olla hyödyllistä ottaa käyttöön useissa olosuhteissa.
Hakemiston määritelmiä edeltää joskus "Alias"- tai "ScriptAlias"-lauseet. Alias yhdistää URL-polun hakemistopolkuun.
ScriptAlias toimii samalla tavalla, mutta sitä käytetään määrittämään hakemistoja, joissa on suoritettavia komponentteja.
Esimerkiksi tämä virtuaalipalvelimen rivi, joka käsittelee pyyntöä "example.com", sallii pääsyn osoitteen /path/to/content/ sisältöön siirtymällä osoitteeseen "example.com/content/":
Alias /content/ /path/to/content/Alias:n jälkeen sinun tulee muistaa määrittää hakemisto, jolla on käyttöoikeudet, kuten edellisessä osiossa kerrottiin.
Kun sinulla on vaatimuksiasi vastaava Virtual Host -tiedosto, voit käyttää Apachen mukana tulevia työkaluja siirtääksesi ne live-sivustoiksi.
Jos haluat luoda automaattisesti symbolisen linkin "sites-enabled"-hakemistoon olemassa olevaan tiedostoon "sites-available"-hakemistossa, anna seuraava komento:
sudo a2ensite virtual_host_file_nameKun olet ottanut sivuston käyttöön, anna seuraava komento käskeäksesi Apachea lukemaan määritystiedostonsa uudelleen, jolloin muutos etenee:
sudo service apache2 reloadSiellä on myös kumppanikomento, jolla voidaan poistaa virtuaalinen isäntä. Se toimii poistamalla symbolisen linkin "sites-enabled" -hakemistosta:
sudo a2dissite virtual_host_file_nameLataa kokoonpano uudelleen, jotta muutos tapahtuu:
sudo service apache2 reloadModuulit voidaan ottaa käyttöön tai poistaa käytöstä käyttämällä "a2enmod"- ja "a2dismod"-komentoja. Ne toimivat samalla tavalla kuin näiden komentojen "site"-versiot.
Muista ladata kokoonpanomuutoksesi uudelleen, kun myös moduulit on otettu käyttöön tai poistettu käytöstä.
Olemme käyneet läpi joitakin Apachen perusmääritystiedostoja. Apache on monipuolinen ja erittäin modulaarinen, joten määritystarpeet vaihtelevat asetuksistasi riippuen.
Sinulla pitäisi olla hyvä käsitys siitä, mihin tärkeimpiä määritystiedostoja käytetään ja miten ne ovat vuorovaikutuksessa keskenään.Jos haluat tietää tietyistä määritysvaihtoehdoista, toimitetut tiedostot on kommentoitu hyvin ja Apache tarjoaa erinomaisen dokumentaation.
Toivottavasti määritystiedostot eivät ole nyt niin pelottavia, ja tunnet olosi mukavammaksi kokeilla ja muokata tarpeidesi mukaan.
Kirjoittaja Justin Ellingwood
PREV: DHCP-palvelimen ongelmien vianmääritys | Microsoft Docs
NEXT: "Ei voi muodostaa yhteyttä DHCP-palvelimeesi" *Ratkaisu* - Xbox One