Apache optimizavimas žemos klasės VPS Ubuntu 14.04

„Apache“ yra labai lengva įdiegti ir inicijuoti, tačiau jame yra iš anksto įdiegta daug modulių, todėl gali kilti našumo problemų, kai naudojate mažai RAM VPS.

Taigi, ne visada reikia didesnio serverio, bet jūs galite tiesiog tinkamai sukonfigūruoti „Apache“ nustatymus ir turėti geriausią įmanomą našumą. Štai keletas dalykų, kuriuos turėtumėte padaryti, kad tai padarytumėte.

Ši pamoka skirta Ubuntu 14.04 LTS, tačiau principai taip pat panašūs į ankstesnes versijas.


1. Išjunkite Apache modulius

Galite matyti visų modulių, įdiegtų naudojant komandą, ls /etc/apache2/mods-available/ir visų šiuo metu aktyvių modulių sąrašą ls /etc/apache2/mods-enabled/.

Pradiniame „Apache“ diegime pagal numatytuosius nustatymus įjungta 15 ar daugiau modulių. Jų yra per daug ir dauguma jų nereikalingi.

Visų pirma, jūs turite sudaryti visų šiuo metu aktyvių modulių sąrašą ir išsaugoti jį ateičiai, jei išjungsite ką nors, ko reikia, ir vėl turėsite jį įjungti. Tada tiesiog išjunkite modulius po vieną naudodami komandą (kaip pavyzdį naudodami moduleName):

sudo a2dismod moduleName

... ir iš naujo paleiskite „Apache“ po kiekvieno pakeitimo, kad pamatytumėte, ar neįvyko kokių nors klaidų.

Kai kurie moduliai, kuriuos turėtumėte išjungti, jei jums jų nereikia:

  • PHP
  • SSL
  • Perrašyti
  • Perl
  • Python

Išjungę modulį ir iš naujo įkėlę Apache konfigūraciją, galite patikrinti, ar nėra klaidų, atidarydami Apache klaidų žurnalą naudodami teksto rengyklę, pvz., nano.

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

Jei gaunate klaidą, tiesiog iš naujo įjunkite atitinkamą modulį naudodami:

sudo a2enmod moduleName

Tada dar kartą paleiskite „Apache“, kol sutvarkysite minimalų sąrašą!


2. Nustatykite mpm_prefork

Naudojant numatytąją „Apache“ konfigūraciją (kuri nėra gerai subalansuota mažiems serveriams), atmintis gali greitai išeikvoti ir debesies serveris gali būti perkrautas. Dėl to tinklalapis bus nuolat įkeliamas. Tikėtina, kad serveris išlaikys šiuos mirusius „Apache“ procesus aktyvius, bandydamas teikti turinį be reikalo, sumažindamas galimų aptarnauti procesų skaičių.

Norėdami išspręsti šią problemą, pirmiausia turite išsiaiškinti, kiek RAM reikia jūsų serveriui, išskyrus „Apache“, ir vidutinį atminties kiekį, kurį naudoja „Apache“ procesai.

Kai veikia „Apache“, atidarykite viršutinę komandą serveryje.

top -bn 1

Rezultatų lentelėje:

  • pridėkite skaičius stulpelyje RES kiekvienam procesui, išskyrus apache2, ir pašalinkite jį iš bendro RAM kiekio. Tarkime, jūs gaunate 600 MB .
  • gauti visų apache2 procesų vidurkį . Tarkime, gaukite 20 MB .
  • tada tiesiog atlikite padalijimą 600/20 = 30 daugiausiai Apache procesų

Kitas veiksmas redaguokite mpm_prefork modulio konfigūracijos failą:

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

Tai gali atrodyti taip:

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

Kur:

  • StartServers: serverio procesų, kuriuos reikia pradėti, skaičius.
  • MinSpareServers: minimalus atsarginių serverio procesų skaičius.
  • MaxSpareServers: didžiausias atsarginių serverio procesų skaičius.
  • MaxRequestWorkers: didžiausias leidžiamas paleisti serverio procesų skaičius.
  • MaxConnectionsPerChild: maksimalus serverio proceso aptarnaujamų užklausų skaičius.

MaxRequestWorkers“ nustatyme turite jį pakeisti į tai, ką radote aukščiau esančiame skyriuje.

Dabar, jei jūsų VPS bus perkrautas ir pasieks maksimalų klientų, kuriuos gali aptarnauti vienu metu, skaičių, jis tuos aptarnaus ir kiti vartotojai tiesiog greitai suges. Tada jie gali iš naujo įkelti puslapį ir bandyti dar kartą. Daug geriau, kad šie ryšiai užsidarytų greitai, bet serveris būtų sveikas, o ne liktų atviras amžinai.


3. Sumažinkite rąstų skaičių

Norėdami padidinti našumą, tikrai galite įrašyti mažiau informacijos. Numatytoje „Apache“ konfigūracijoje „ LogLevel“ nustatymas nustatytas į įspėjimą . Galite pakeisti tai į klaidą, kad liktų tik klaidų pranešimai.

Atidarykite „Apache“ konfigūracijos failą:

sudo nano /etc/apache2/apache2.conf

Raskite eilutę:

LogLevel warn

... ir pakeiskite jį į:

LogLevel error

Tada išsaugokite failą ir iš naujo paleiskite „Apache“ naudodami:

sudo service apache2 restart

Numatytasis failas, kuriame „Apache“ saugo žurnalus, yra /var/log/apache2/error.log .


4. Apsvarstykite galimybę pakeisti mod_php

Jei naudojate PHP svetainę, yra didelė tikimybė, kad naudojate modulį mod_php. Dėl šio modulio kiekvienas „Apache“ antrinis procesas gali naudoti daugiau nei 100 MB RAM, net jei užklausos yra statinių išteklių, pvz., vaizdų, css ir „Javascript“.

Puiki alternatyva yra php-fpm modulis, kuris yra atskiras procesas, kuriame naudojamas fastcgi protokolas. Naudojant php-fpm, Apache procesų atmintis gali sumažėti iki 10 MB statinio turinio ir 60 MB dinaminio turinio.

Nors naudojant šį pakeitimą gali būti šiek tiek sunku viską sutvarkyti, verta pasistengti.


5. Apsvarstykite galimybę pakeisti mpm_prefork

Daugumoje „Apache“ konfigūracijų naudojamas modulis „ mpm_prefork“, kuris yra saugus gijai ir naudoja kelis antrinius procesus su viena gija, o kiekvienas procesas vienu metu apdoroja vieną ryšį. Jei jums nereikia išorinių modulių, tokių kaip PHP ar Rails, galite jį pakeisti moduliu apache2-mpm-worker , kuris dažnai yra greitesnis. Darbuotojo MPM naudoja kelis antrinius procesus su daugybe gijų ir kiekviena gija vienu metu apdoroja vieną ryšį.

Norėdami įjungti darbuotojo modulį, turite jį įdiegti.

sudo apt-get install apache2-mpm-worker

Ši komanda pašalins mpm_prefork , mos_php ir kitus nesuderinamus priedų modulius.


Kaip nustatyti neprižiūrimus atnaujinimus Debian 9 (Stretch)

Kaip nustatyti neprižiūrimus atnaujinimus Debian 9 (Stretch)

Naudojate kitą sistemą? Jei perkate Debian serverį, visada turėtumėte turėti naujausius saugos pataisymus ir naujinimus, nesvarbu, ar miegate, ar ne

Kaip įdiegti ir konfigūruoti PHP 7.0 arba PHP 7.1 Ubuntu 16.04

Kaip įdiegti ir konfigūruoti PHP 7.0 arba PHP 7.1 Ubuntu 16.04

PHP ir susiję paketai yra dažniausiai naudojami komponentai diegiant žiniatinklio serverį. Šiame straipsnyje sužinosime, kaip nustatyti PHP 7.0 arba PHP 7.1 o

Nustatykite savo DNS serverį Debian / Ubuntu

Nustatykite savo DNS serverį Debian / Ubuntu

Šiame vadove paaiškinama, kaip nustatyti DNS serverį naudojant Bind9 sistemoje Debian arba Ubuntu. Visame straipsnyje atitinkamai pakeiskite savo-domeno-vardas.com. Prie th

Nustatykite „Red5 Media Server“ Ubuntu 16.04

Nustatykite „Red5 Media Server“ Ubuntu 16.04

Naudojate kitą sistemą? „Red5“ yra atvirojo kodo medijos serveris, įdiegtas „Java“, leidžiantis paleisti „Flash“ kelių vartotojų programas, tokias kaip tiesioginis srautas.

Sukompiliuokite ir įdiekite „Nginx“ naudodami „PageSpeed“ modulį „Debian 8“.

Sukompiliuokite ir įdiekite „Nginx“ naudodami „PageSpeed“ modulį „Debian 8“.

Šiame straipsnyje pamatysime, kaip sukompiliuoti ir įdiegti pagrindinę Nginx liniją iš oficialių Nginx šaltinių naudojant PageSpeed ​​modulį, kuris leidžia

Kaip įdiegti „Vanilla Forum“ Ubuntu 16.04

Kaip įdiegti „Vanilla Forum“ Ubuntu 16.04

Naudojate kitą sistemą? Vanilla forumas yra atvirojo kodo forumo programa, parašyta PHP. Tai visiškai pritaikoma, paprasta naudoti ir palaiko išorinę

Kaip įdiegti „Kanboard“ Ubuntu 18.04 LTS

Kaip įdiegti „Kanboard“ Ubuntu 18.04 LTS

Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti

Kaip įdiegti „Kanboard“ „Debian 9“.

Kaip įdiegti „Kanboard“ „Debian 9“.

Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti

Kaip įdiegti Gitea Debian 9

Kaip įdiegti Gitea Debian 9

Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina Git. Gitea parašyta golangu ir yra

Kaip įdiegti „Gitea“ Ubuntu 18.04

Kaip įdiegti „Gitea“ Ubuntu 18.04

Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina git. Gitea parašyta golangu ir yra

Įdiekite „Lynis“ „Debian 8“.

Įdiekite „Lynis“ „Debian 8“.

Įvadas Lynis yra nemokama atvirojo kodo sistemos audito priemonė, kurią naudoja daugelis sistemų administratorių, kad patikrintų vientisumą ir sustiprintų savo sistemas. aš

Kaip įdiegti Thelia 2.3 Debian 9

Kaip įdiegti Thelia 2.3 Debian 9

Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas kurti el. verslo svetaines ir valdyti PHP parašytą internetinį turinį. Thelia šaltinio kodas i

Kaip įdiegti „Microweber“ „CentOS 7“.

Kaip įdiegti „Microweber“ „CentOS 7“.

Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys

„Microweber“ diegimas „Ubuntu 16.04“.

„Microweber“ diegimas „Ubuntu 16.04“.

Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys

Kaip įdiegti dotCMS Ubuntu 16.04

Kaip įdiegti dotCMS Ubuntu 16.04

Naudojate kitą sistemą? DotCMS yra atvirojo kodo, įmonės lygio turinio valdymo sistema, parašyta Java. Jame yra beveik visos reikalingos funkcijos t

Kaip įdiegti „BigTree CMS“ Fedora 26 LAMP VPS

Kaip įdiegti „BigTree CMS“ Fedora 26 LAMP VPS

Naudojate kitą sistemą? BigTree CMS 4.2 yra greita ir lengva, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), turinti platų

„Minecraft“ serverių tinklo sukūrimas naudojant „BungeeCord“ „Debian 8“, „Debian 9“ arba „CentOS 7“

„Minecraft“ serverių tinklo sukūrimas naudojant „BungeeCord“ „Debian 8“, „Debian 9“ arba „CentOS 7“

Ko jums reikia Vultr VPS su mažiausiai 1 GB RAM. SSH prieiga (su root / administratoriaus teisėmis). 1 veiksmas: „BungeeCord“ diegimas Pirmiausia

„Docker CE“ diegimas „Ubuntu 16.04“.

„Docker CE“ diegimas „Ubuntu 16.04“.

Naudojate kitą sistemą? Docker yra programa, leidžianti diegti programas, kurios vykdomos kaip konteineriai. Tai buvo parašyta populiarioje Go programoje

Kaip įdiegti Golang 1.8.3 CentOS 7, Ubuntu 16.04 ir Debian 9

Kaip įdiegti Golang 1.8.3 CentOS 7, Ubuntu 16.04 ir Debian 9

Golang yra programavimo kalba, kurią sukūrė Google. Dėl savo universalumo, paprastumo ir patikimumo Golangas tapo vienu populiariausių

„Dirty Cow Exploit“ pataisymas „CentOS“.

„Dirty Cow Exploit“ pataisymas „CentOS“.

Kas yra purvina karvė (CVE-2016-5195)? „Dirty Cow“ pažeidžiamumas išnaudojamas „Linux“ apdorojant kodą. Tai leidžia neprivilegijuotam vartotojui gai

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį