Optimizimi i Apache për VPS me fund të ulët në Ubuntu 14.04

Apache është shumë i lehtë për t'u instaluar dhe inicializuar, por ai vjen me module të shumta të para-instaluara dhe si rezultat mund të keni probleme me performancën kur punoni me një RAM të ulët VPS.

Pra, nuk ka gjithmonë nevojë për një server më të madh, por thjesht mund të konfiguroni cilësimet e Apache në mënyrën e duhur dhe të keni performancën më të mirë të mundshme. Këtu janë disa gjëra që duhet të bëni për ta arritur këtë.

Ky tutorial është për Ubuntu 14.04 LTS por parimet janë gjithashtu të ngjashme me versionet e mëparshme.


1. Çaktivizoni modulet Apache

Ju mund të shihni një listë të të gjitha moduleve të instaluara me komandën ls /etc/apache2/mods-available/dhe të gjitha modulet që janë aktualisht aktive me ls /etc/apache2/mods-enabled/.

Në instalimin fillestar të Apache-së ka 15 ose më shumë module të aktivizuara si parazgjedhje. Këto janë shumë dhe shumica e tyre nuk janë të nevojshme.

Para së gjithash, duhet të bëni një listë të të gjitha moduleve aktualisht aktive dhe ta ruani për referencë në të ardhmen në rast se çaktivizoni diçka që ju nevojitet dhe duhet ta riaktivizoni atë. Pastaj thjesht çaktivizoni modulet një nga një me komandën (duke përdorur modulName si shembull):

sudo a2dismod moduleName

... dhe rinisni Apache pas çdo ndryshimi për të parë nëse ndodh ndonjë gabim.

Disa module që duhet t'i çaktivizoni nëse nuk ju nevojiten janë:

  • PHP
  • SSL
  • Rishkruaj
  • Perl
  • Python

Pasi të çaktivizoni një modul dhe të rifreskoni konfigurimin e Apache, mund të kontrolloni për gabime duke hapur regjistrin e gabimeve të Apache me një redaktues teksti si nano.

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

Nëse merrni një gabim, thjesht ri-aktivizoni modulin përkatës me:

sudo a2enmod moduleName

Pastaj, rinisni përsëri Apache derisa të zgjidhni listën minimale!


2. Vendosni mpm_prefork

Me konfigurimin e parazgjedhur të Apache (i cili nuk është i balancuar mirë për serverët e vegjël), memoria mund të shterohet shpejt dhe serveri juaj cloud mund të mbingarkohet. Kjo do të bëjë që faqja e internetit të varet në një gjendje ngarkimi të vazhdueshëm. Ka të ngjarë që serveri t'i mbajë aktive këto procese të vdekura Apache, duke u përpjekur të shërbejë përmbajtjen në mënyrë të panevojshme, duke zvogëluar numrin e proceseve të disponueshme për t'u shërbyer.

Për të zgjidhur këtë problem, së pari duhet të zbuloni se sa RAM ka nevojë serveri juaj, përveç Apache dhe sasisë mesatare të memories që proceset Apache po përdorin.

Ndërsa Apache po funksionon, hapni komandën kryesore në server.

top -bn 1

Në tabelën e rezultateve:

  • shtoni numrat në kolonën RES lart për çdo proces, përveç apache2 dhe më pas hiqni atë nga sasia totale e RAM-it. Le të themi se merrni 600 MB .
  • merrni mesataren nga të gjitha proceset apache2 . Le të themi se merrni 20 MB .
  • atëherë, thjesht bëni ndarjen 600/20 = 30 procese maksimale Apache

Hapi tjetër, modifikoni skedarin e konfigurimit të modulit mpm_prefork:

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

Mund të duket kështu:

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

Ku:

  • StartServers: numri i proceseve të serverit për të filluar.
  • MinSpareServers: numri minimal i proceseve të serverit që mbahen të lirë.
  • MaxSpareServers: numri maksimal i proceseve të serverit që mbahen të lirë.
  • MaxRequestWorkers: numri maksimal i proceseve të serverit të lejuara për të filluar.
  • MaxConnectionsPerChild: numri maksimal i kërkesave që shërben një proces serveri.

Në cilësimin MaxRequestWorkers , duhet ta ndryshoni atë në çfarëdo që keni gjetur në ndarjen e mësipërme.

Tani, nëse VPS-ja juaj mbingarkohet dhe arrin numrin maksimal të klientëve që mund të shërbejë menjëherë, ai do t'u shërbejë atyre dhe përdoruesit e tjerë thjesht do të kenë një dështim të shpejtë. Më pas ata mund të rifreskojnë faqen për të provuar përsëri. Është shumë më mirë që këto lidhje të mbyllen shpejt, por ta lini serverin në një gjendje të shëndetshme në vend që të qëndroni të hapur përgjithmonë.


3. Zvogëloni shkrimet tuaja

Për të maksimizuar performancën, patjetër që mund të regjistroni më pak informacion. Në konfigurimin e parazgjedhur të Apache, cilësimi i LogLevel është caktuar të paralajmërojë . Ju mund ta ndryshoni atë në gabim për të mbajtur vetëm mesazhet e gabimit.

Hapni skedarin e konfigurimit të Apache:

sudo nano /etc/apache2/apache2.conf

Gjeni rreshtin:

LogLevel warn

... dhe ndryshojeni në:

LogLevel error

Pastaj, ruani skedarin dhe rinisni Apache me:

sudo service apache2 restart

Skedari i paracaktuar që Apache mban regjistrat është /var/log/apache2/error.log .


4. Konsideroni të zëvendësoni mod_php

Nëse drejtoni një sajt PHP, ka shumë mundësi që të përdorni modulin mod_php. Ky modul mund të bëjë që çdo proces fëmijë Apache të përdorë mbi 100 MB RAM edhe nëse kërkesat janë për burime statike si imazhe, css dhe javascript.

Një alternativë e shkëlqyer është moduli php-fpm , i cili është një proces i veçantë që përdor protokollin fastcgi. Me php-fpm, memoria për proceset Apache mund të bjerë në 10 MB për përmbajtje statike dhe 60 MB për dinamike.

Edhe pse mund të jetë pak e vështirë që gjërat të funksionojnë me këtë ndryshim, ia vlen përpjekja.


5. Konsideroni të zëvendësoni mpm_prefork

Shumica e konfigurimeve të Apache janë duke përdorur modulin mpm_prefork, i cili është i sigurt në thread dhe përdor procese të shumta fëmijë me një thread secili dhe secili proces trajton një lidhje në një kohë. Nëse nuk keni nevojë për module të jashtme si PHP ose Rails, atëherë mund ta zëvendësoni atë me modulin apache2-mpm-worker , i cili shpesh është më i shpejtë. Worker MPM përdor procese të shumëfishta fëmijë me shumë thread secila dhe çdo thread trajton një lidhje në një kohë.

Për të aktivizuar modulin e punëtorit, duhet ta instaloni atë.

sudo apt-get install apache2-mpm-worker

Kjo komandë do të çinstalojë mpm_prefork , mos_php dhe module të tjera shtesë të papajtueshme.

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë