Apache optimalizálás alsókategóriás VPS-hez Ubuntu 14.04-en

Az Apache telepítése és inicializálása nagyon egyszerű, de számos előre telepített modullal érkezik, és ennek eredményeként teljesítményproblémák léphetnek fel, ha alacsony RAM-mal rendelkező VPS-en fut.

Tehát nincs mindig szükség nagyobb szerverre, hanem egyszerűen konfigurálhatja az Apache beállításait a megfelelő módon, és a lehető legjobb teljesítményt érheti el. Íme néhány dolog, amit meg kell tennie, hogy ezt elérje.

Ez az oktatóanyag az Ubuntu 14.04 LTS-hez készült, de az elvek hasonlóak a korábbi verziókhoz is.


1. Tiltsa le az Apache modulokat

Megtekintheti a paranccsal telepített ls /etc/apache2/mods-available/összes modult és az összes olyan modult, amely jelenleg aktív a paranccsal ls /etc/apache2/mods-enabled/.

A kezdeti Apache telepítéskor 15 vagy több modul van alapértelmezés szerint engedélyezve. Ezek túl sok, és a legtöbbre nincs is szükség.

Mindenekelőtt listát kell készítenie az összes jelenleg aktív modulról, és el kell mentenie későbbi hivatkozás céljából arra az esetre, ha letilt valamit, ami szükséges, és újra engedélyeznie kell. Ezután egyszerűen tiltsa le a modulokat egyenként a paranccsal (például a moduleName használatával):

sudo a2dismod moduleName

... és minden változtatás után indítsa újra az Apache-t, hogy ellenőrizze, nincs-e hiba.

Néhány modul, amelyet le kell tiltania, ha nincs szüksége rájuk:

  • PHP
  • SSL
  • Újraírni
  • Perl
  • Piton

Miután letiltott egy modult és újratöltötte az Apache konfigurációt, úgy ellenőrizheti a hibákat, hogy megnyitja az Apache hibanaplót egy szövegszerkesztővel, például a nanoval.

sudo nano /var/log/apache2/error.log

Ha hibaüzenetet kap, csak engedélyezze újra a megfelelő modult a következővel:

sudo a2enmod moduleName

Ezután indítsa újra az Apache-ot, amíg meg nem rendeződik a minimális lista!


2. Állítsa be az mpm_prefork parancsot

Az alapértelmezett Apache-konfigurációval (amely kis kiszolgálók számára nincs megfelelően kiegyensúlyozott) a memória gyorsan kimerülhet, és a felhőszerver túlterheltté válhat. Ez azt eredményezi, hogy a weboldal folyamatosan betöltődik. Valószínű, hogy a szerver aktívan tartja ezeket az elhalt Apache-folyamatokat, és szükségtelenül próbál meg tartalmat kiszolgálni, csökkentve a kiszolgálható folyamatok számát.

A probléma megoldásához először meg kell találnia, hogy mennyi RAM-ra van szüksége a kiszolgálónak az Apache-on kívül, és az Apache-folyamatok átlagos memóriamennyiségét.

Amíg az Apache fut, nyissa meg a top parancsot a kiszolgálón.

top -bn 1

Az eredménytáblázaton:

  • Adja hozzá a RES oszlopban lévő számokat minden folyamathoz, kivéve az apache2-t , majd távolítsa el a RAM teljes mennyiségéből. Tegyük fel, hogy 600 MB-ot kap .
  • lekérni az összes apache2 folyamat átlagát . Tegyük fel 20 MB-ot .
  • akkor csak hajtsa végre a 600/20 = 30 maximum Apache folyamatot

A következő lépésben szerkessze az mpm_prefork modul konfigurációs fájlját:

sudo nano /etc/apache2/mods-enabled/mpm_prefork.conf

Így nézhet ki:

<IfModule mpm_prefork_module>
    StartServers             2
    MinSpareServers          2
    MaxSpareServers          5
    MaxRequestWorkers        30
    MaxConnectionsPerChild   0
</IfModule>

Ahol:

  • StartServers: az indítandó szerverfolyamatok száma.
  • MinSpareServers: a tartalék szerverfolyamatok minimális száma.
  • MaxSpareServers: a tartalék szerverfolyamatok maximális száma.
  • MaxRequestWorkers: az indítható szerverfolyamatok maximális száma.
  • MaxConnectionsPerChild: a szerverfolyamat által kiszolgált kérések maximális száma.

A MaxRequestWorkers beállításban módosítania kell azt, amit a fenti felosztásban talált.

Most, ha a VPS túlterhelődik, és eléri az egyszerre kiszolgálható ügyfelek maximális számát, akkor ezeket ki fogja szolgálni, és a többi felhasználó egyszerűen meghibásodik. Ezután újratölthetik az oldalt, hogy újra próbálkozzanak. Sokkal jobb, ha ezek a kapcsolatok gyorsan bezáródnak, de a szervert egészséges állapotban hagyják, nem pedig örökké nyitva.


3. Csökkentse a naplók számát

A teljesítmény maximalizálása érdekében határozottan kevesebb információt naplózhat. Az alapértelmezett Apache konfigurációban a LogLevel beállítása warn . Ezt módosíthatja hibára , hogy csak a hibaüzenetek maradjanak meg.

Nyissa meg az Apache konfigurációs fájlt:

sudo nano /etc/apache2/apache2.conf

Keresse meg a sort:

LogLevel warn

... és módosítsa a következőre:

LogLevel error

Ezután mentse el a fájlt, és indítsa újra az Apache-t a következővel:

sudo service apache2 restart

Az Apache alapértelmezett fájlja a /var/log/apache2/error.log .


4. Fontolja meg a mod_php lecserélését

Ha PHP webhelyet futtat, nagy eséllyel a mod_php modult használja. Ez a modul azt eredményezheti, hogy minden Apache gyermekfolyamat több mint 100 MB RAM-ot használ, még akkor is, ha a kérések statikus erőforrásokra, például képekre, css-re és javascriptre vonatkoznak.

Kiváló alternatíva a php-fpm modul, amely egy különálló folyamat, amely a fastcgi protokollt használja. A php-fpm használatával az Apache folyamatok memóriája statikus tartalom esetén 10 MB-ra, dinamikus esetén pedig 60 MB-ra csökkenhet.

Noha ezzel a változtatással kissé nehézkes lehet a dolgokat működésre bírni, megéri az erőfeszítést.


5. Fontolja meg az mpm_prefork lecserélését

A legtöbb Apache konfiguráció az mpm_prefork modult használja, amely szálbiztos, és több gyermekfolyamatot használ egy-egy szálal, és mindegyik folyamat egyszerre egy kapcsolatot kezel. Ha nincs szüksége külső modulokra, például PHP-re vagy Railsre, akkor lecserélheti az apache2-mpm-worker modulra, amely gyakran gyorsabb. A Worker MPM több utódfolyamatot használ sok szállal, és mindegyik szál egyszerre egy kapcsolatot kezel.

A dolgozó modul engedélyezéséhez telepítenie kell.

sudo apt-get install apache2-mpm-worker

Ez a parancs eltávolítja az mpm_prefork , mos_php és más nem kompatibilis kiegészítő modulokat.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.