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.


Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

A Cacti beállítása a Debian Jessie-n

A Cacti beállítása a Debian Jessie-n

Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Bevezetés A Lets Encrypt egy hitelesítésszolgáltató szolgáltatás, amely ingyenes TLS/SSL-tanúsítványokat kínál. A telepítés folyamatát a Certbot leegyszerűsíti,

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Más rendszert használ? Mi az a Tekkit Classic? A Tekkit Classic egy modpack ahhoz a játékhoz, amelyet mindenki ismer és szeret; Minecraft. Tartalmaz néhányat a ver

Az iRedMail beállítása a Debian Wheezy rendszeren

Az iRedMail beállítása a Debian Wheezy rendszeren

Más rendszert használ? Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a Debian Wheezy friss telepítésére. Használnia kell egy szervát

Jekyll blog létrehozása Ubuntu 16.04-en

Jekyll blog létrehozása Ubuntu 16.04-en

Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Más rendszert használ? Ha Debian szervert vásárol, akkor mindig rendelkeznie kell a legújabb biztonsági javításokkal és frissítésekkel, akár alszik, akár nem

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP és a kapcsolódó csomagok a leggyakrabban használt összetevők a webszerverek telepítésekor. Ebben a cikkben megtudjuk, hogyan kell beállítani a PHP 7.0 vagy PHP 7.1 o verzióját

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

Három ingyenes szervervezérlő panel (gyors telepítés)

Három ingyenes szervervezérlő panel (gyors telepítés)

1. Virtualmin/Webmin A Virtualmin egy hatékony és rugalmas web hosting vezérlőpanel Linux és UNIX rendszerek számára, amely a jól ismert nyílt forráskódú webbázison alapul.

Yii alkalmazás beállítása Ubuntu 14.04-en

Yii alkalmazás beállítása Ubuntu 14.04-en

A Yii egy PHP-keretrendszer, amely lehetővé teszi alkalmazások gyorsabb és egyszerűbb fejlesztését. A Yii telepítése Ubuntura egyszerű, amint azt pontosan megtudhatja

A képernyő használata Ubuntu 14.04-en

A képernyő használata Ubuntu 14.04-en

A Screen egy olyan alkalmazás, amely lehetővé teszi a terminálmunkamenetek többszöri használatát egy ablakon belül. Ez lehetővé teszi több terminálablak szimulálását, ahol ez ma

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Ez az oktatóanyag elmagyarázza, hogyan állíthat be DNS-kiszolgálót a Bind9 használatával Debian vagy Ubuntu rendszeren. A cikkben ennek megfelelően helyettesítse be a saját-domain-neve.com címet. TH-nál

A Logrotate használata naplófájlok kezelésére

A Logrotate használata naplófájlok kezelésére

Bevezetés A Logrotate egy Linux segédprogram, amely leegyszerűsíti a naplófájlok kezelését. Általában naponta egyszer fut egy cron-feladaton keresztül, és kezeli a naplóbázist

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

Más rendszert használ? A Red5 egy Java nyelven megvalósított nyílt forráskódú médiaszerver, amely lehetővé teszi többfelhasználós Flash-alkalmazások, például élő streamin futtatását.

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Ebben a cikkben látni fogjuk, hogyan fordíthatja le és telepítheti az Nginx fővonalat az Nginx hivatalos forrásaiból a PageSpeed ​​modullal, amely lehetővé teszi a

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

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.

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.

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 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é.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket