44 Praktiniai „Apache“ tinklo serverio klausimai ir atsakymai

„Apache“ yra populiariausias žiniatinklio serveris ir, jei ketinate dirbti tarpine programine įranga / sistemos / žiniatinklio administratoriumi, turite būti su juo susipažinęs. „Apache HTTP“ yra atvirojo kodo žiniatinklio serveris, skirtas „Windows“ & UNIX.


Po kelių dienų aš rašiau apie „WebSphere“ interviu klausimus, ir daugelis iš jūsų paprašė parašyti apie „Apache“ tinklo serverį, taigi čia.

Interviu nuo pradedančiojo iki eksperto lygio dažnai užduodami šie klausimai. Didžiojoje dalyje organizacijos bus žiniatinklio serverio, kurį valdys „Middleware“ / sistemos administratorius, kartu su „Application Server“ ir kitais komponentais.

Pradėkime nuo realiojo laiko interviu klausimai & atsakymai

Contents

1. Kaip sustabdyti / paleisti „Apache“ tinklo serverį?

Galite paleisti iš naujo apsilankę „Apache“ egzemplioriaus vietoje >> šiukšliadėžės aplanką ir vykdykite „afachectl“ scenarijų.

./ apachectl stotelė
./ apachectl pradžia

Taip pat galite naudoti scenarijų, esantį /etc/init.d/. Dažniausiai jis bus pavadintas „apache“ arba „httpd“

/etc/init.d/apache stop
/etc/init.d/apache start

Kita procedūra būtų paslaugų naudojimas

„httpd“ stotelė
paslaugos httpd pradžia

2. Koks yra numatytasis HTTP ir HTTPS prievadas??

Numatytasis HTTP prievadas yra 80 ir HTTPS 443. Patikrinkite kitų čia išvardytų programų numatytuosius prievadus.

3. Ar galite pasakyti svarbų konfigūracijos failo pavadinimą?

„httpd.conf“ yra pagrindinis „Apache“ naudojamas konfigūracijos failas.

4. Kaip patikrinti veikiančią „Apache Web Server“ versiją?

Yra keli būdai tai rasti, bet tiksliau būtų;

  • Prisijungimas prie interneto serverio
  • Eikite į „apache“ egzempliorių ir šiukšliadėžės aplanką
  • Vykdyta httpd su -v, kad gautumėte informacijos apie versiją.

[[apsaugotas el. paštu] sbin] # ./httpd -v
Serverio versija: „Apache“ / 2.2.15 („Unix“)
Serveris pastatytas: 2016 m. Liepos 18 d. 15:24:00
[[apsaugotas el. paštu] sbin] #

Taip pat galite naudoti aps / min komanda patikrinti įdiegtą versiją.

[[apsaugotas el. paštu] ~] # aps / min -qa | grep httpd
„httpd-2.2.15-54.el6.centos.x86_64“
„httpd-tools-2.2.15-54.el6.centos.x86_64“
[[apsaugotas el. paštu] ~] #

5. Kaip sužinoti, ar veikia interneto serveris?

Tai galima rasti keliais būdais.

  1. Prisijunkite prie interneto serverio ir naudokitės „httpd“ procesui

ps-ef | grep httpd

  1. Patikrinkite, ar stebėjimo prietaisų skydelyje nėra įspėjimų.
  2. Patikrinkite, ar naršyklėje yra prieinamas jūsų „apache“ IP: prievadas

Pvz .: http://yourapacheserver.com

  1. Patikrinkite, ar sukonfigūruotas IP ir prievadas klausosi serveryje naudojant „netstat“

netstat -anlp | grep 80

6. Kaip įdiegti „Apache HTTP“?

Yra trys galimi būdai, kaip tai įdiegti.

Naudojant pirminis kodas – galite atsisiųsti šaltinį ir jį kompiliuoti.

  • Atsisiųskite naujausią versiją iš http://httpd.apache.org/download.cgi
  • Ištraukite šaltinį naudodami tar arba „gzip“ naudingumą, priklausomai nuo failo tipo: .tar arba .tar.gz

tar xvf httpd-1.2.3.tar
„gzip -d“ httpd-1.2.4.tar.gz

  •  Eikite į vietą, kur išrinkote šaltinį naudodami komandą cd, ir sukonfigūruokite ją naudodami terminalo komandą ./configure
  • Tada sudarykite naudodami komandą make.
  • Galiausiai, norėdami ją įdiegti, naudokite komandą make install.

Jei norite sužinoti daugiau parinkčių, kaip ją sukonfigūruoti, galite naudoti komandą configure –help.

YUM saugykla – jei jūsų serveris yra prijungtas prie interneto ar turi vidinį saugyklą, galite jį įdiegti naudodami „yum“.

yum įdiegti httpd

RPM – Galite atsisiųsti reikiamą RPM paketą ir naudoti komandą rpm.

rpm -ivh paketo pavadinimas.rpm

7. Kaip užtikrinti, kad „Apache“ klauso tik vieno serverio IP adreso?

Tai dažnai reikalinga, kai serveryje turite kelis IP. Jei norite užtikrinti, kad „Apache“ klausosi tik nurodytu IP, tada turite aiškiai paminėti IP ir prievadą „Klausyti“ direktyvoje.

Pvz .:

Klausykite 10.10.10.10:80

8. Kaip užtikrinti „Apache“ paleidimą naudojant ne „root“ vartotojus?

Tai galima padaryti pridedant vartotoją & Grupės direktyva faile httpd.conf

Vartotojo apache
Grupinis apachas

Aukščiau pateiktas konfigūracijos pavyzdys užtikrins, kad jis prasideda nuo „apache“ vartotojo. Prieš sukonfigūruodami vartotoją, turite įsitikinti, kad jame yra vartotojų.

9. Kaip išjungti katalogų indeksavimą??

Atitinkamoje katalogų direktyvoje galite naudoti „Parinktys –Indexai“.

Pvz .:

Parinktys -Indexes

10. Kuris modulis reikalingas, kad būtų galima nukreipti?

mod_rewrite yra atsakingas už peradresavimą, ir tai turi būti nekomentuota faile httpd.conf.

„LoadModule“ perrašyti modulio moduliai / mod_rewrite.so

11. Ar galite pakeisti klausymo prievadą iš numatytojo į ką nors kitą?

Taip, tai įmanoma, nurodydami prievado numerį Klausyk direktyva.

Pvz .: priversti „Apache“ klausytis 9000 prievado iki 10.10.10.10 IP adreso.

Klausyk 10.10.10.10:9000

12. Kaip apsaugoti svetainę, esančią „Apache“ tinklo serveryje?

„Apache“ žiniatinklio serverį galite apsaugoti keliais būdais, įskaitant šiuos.

  • Įdiegiama SSL
  • Integravimas su WAF (žiniatinklio programų ugniasiene), tokiomis kaip ModSecurity ir kt.
  • Naudojimasis debesimis pagrįsto saugumo teikėju

13. Kokius žurnalo failus generuoja „Apache“?

Sukurti du populiarūs žurnalo failai;

  • access.log – visa užklausos informacija su būsenos kodu
  • error.log – užfiksuokite visas klaidas apache ar prisijungdami prie pagrindinės programos

14. Kaip sukurti CSR?

Galite naudoti šią „OpenSSL“ komandą arba generuoti CSR internete.

Norėdami sukurti naują CSR su privačiu raktu

„openssl req“ – „geekflare.csr“ – naujo mygtuko rsa: 2048-mazgai –įveskite „geekflare.key“

Peržiūrėkite „OpenSSL“ žaidimų lapą, kad gautumėte daugiau komandų.

15. Kas yra virtualus priegloba?

Virtualus priegloba „Apache“ suteikia galimybę priglobti kelias svetaines vienoje instancijoje. Galite sukurti IP pagrindu arba Vardas pagrįstas virtualiame hostinge.

16. Koks modulis reikalingas prisijungimui prie „WebSphere“?

mod_was_ap22_http.so turi būti pridėtas prie httpd.conf failo, kad būtų galima integruoti su IBM WAS.

17. Kaip nustatyti žurnalo lygį derinimo režime?

Dažnai reikalingas šalinant problemą ir norint užfiksuoti daugiau informacijos. Galite pakeisti registravimo lygį į derinimo užtikrindami šiuos veiksmus httpd.conf faile.

„LogLevel“ derinimo priemonė

18. Kurio modulio reikia norint įjungti SSL?

Mod_ssl modulis turi būti nekomentuotas prieš SSL diegimą.

„LoadModule“ auth_basic_module moduliai / mod_ssl.so

19. Koks yra „WebLogic“ modulio pavadinimas?

mod_wl_22.so

20. Koks yra „Apache“ prieinamas žurnalo lygis?

Numatytoji konfigūracija yra nustatyta kaip „perspėti“Tačiau įmanoma ir šie dalykai.

  • derinimo
  • informacija
  • perspėti
  • pastebėti
  • kritikas
  • aliarmas
  • atsirasti
  • klaida

21. Kas yra „DocumentRoot“?

„DocumentRoot“ direktyva yra konfigūracija, kurioje galite nurodyti aplanko vietą, iš kurios bus teikiami statiniai failai. Jis taip pat vadinamas „WebRoot“.

Numatytoji „DocumentRoot“ vieta yra / var / www / html

22. Kaip diegti karo ar JAVA programas „Apache“?

Bijau, „Apache“ yra žiniatinklio serveris, todėl „Java“ pagrindu veikiančių programų diegimas yra neįmanomas. Tačiau galite integruoti „Java“ programų serverius, tokius kaip „WebLogic“, „WebSphere“, „JBoss“, kur galite dislokuoti karo, ausų failus.

23. Kuo skiriasi „Apache Web Server“ ir „Apache Tomcat“?

„Apache Web“ yra HTTP serveris, teikiantis statinį turinį, kur „Tomcat“ yra servituto talpykla JSP failams diegti.

„Apache HTTP“ visada galite integruoti su „Tomcat“, tačiau, atsižvelgiant į reikalavimą pasirinkti bet kurį iš jų. Jei jums reikia tinkamo žiniatinklio serverio, tada „Apache HTTP else Tomcat“, skirtą JSP-Servlet Container.

24. Kaip „Apache“ gali veikti kaip tarpinis serveris?

Norėdami naudoti kaip tarpinį serverį, galite naudoti mod_proxy modulį. Mod_proxy modulis gali būti naudojamas prisijungti prie pagrindinio serverio, pavyzdžiui, „Tomcat“, „WebLogic“, „WebSphere“ ir kt..

25. Kaip sukonfigūruoti „Apache“ žurnalą, kad jis fiksuotų užklausos aptarnavimo laiką?

Galite pridėti „% DFaile, esančiame „httpd.conf“ faile pagal „LogFormat“ direktyvą, kad būtų užfiksuotas atsakymo laikas, reikalingas aptarnaujant prašymą. Tai parodys laiką mikrosekundėmis.

„LogFormat“ "% h% l% u% t \"% r \" %>s% b \"% {Referer} i \" \"% {User-Agent} i \" % D" sujungti

Iš naujo paleiskite „Apache“ žiniatinklio serverį ir pamatysite rezultatus.

182.19.197.23 – – [02.10.2016: 10: 32: 25 +0000] "GET / HTTP / 1.1" 403 4961 "-" "„Mozilla“ / 5.0 („Macintosh“; „Intel Mac OS X 10_11_6“) „AppleWebKit“ / 537.36 (KHTML, pvz., „Gecko“) „Chrome“ / 53.0.2785.116 „Safari“ / 537.36" 1515 m
182.19.197.23 – – [02.10.2016: 10: 32: 25 +0000] "GET /icons/apache_pb.gif HTTP / 1.1" 304 – "http://lab.geekflare.com/" "„Mozilla“ / 5.0 („Macintosh“; „Intel Mac OS X 10_11_6“) „AppleWebKit“ / 537.36 (KHTML, pvz., „Gecko“) „Chrome“ / 53.0.2785.116 „Safari“ / 537.36" 424
182.19.197.23 – – [02.10.2016: 10: 32: 25 +0000] "GET /icons/poweredby.png HTTP / 1.1" 304 – "http://lab.geekflare.com/" "„Mozilla“ / 5.0 („Macintosh“; „Intel Mac OS X 10_11_6“) „AppleWebKit“ / 537.36 (KHTML, pvz., „Gecko“) „Chrome“ / 53.0.2785.116 „Safari“ / 537.36" 472

26. Kokį įrankį naudojate žurnalų analizei?

Turėjote kalbėti tiesą, tačiau norėdami pateikti idėją galite naudoti „GoAccess“, „SumoLogic“ ar keletą čia paminėtų.

27. Kokie yra interneto serveriai, kuriuose dirbote kartu su „Apache“?

Vėlgi, jūs geriau sakote tiesą, tačiau norėdami jus žinoti, rinkoje yra daugybė interneto serverių, įskaitant šiuos.

  • Nginx
  • „Microsoft IIS“
  • „LiteSpeed“
  • GWS

28. Kaip patikrinti httpd.conf failą, kad nebūtų konfigūracijos sintaksės klaidų?

httpd –t padės patikrinti sintaksę.

[[apsaugotas el. paštu] httpd] # / usr / sbin / httpd -t
Sintaksė gerai
[[apsaugotas el. paštu] httpd] #

Taip pat galite naudoti komandą „apachectl“.

[[apsaugotas el. paštu] ~] # / usr / sbin / apachectl configtest
Sintaksė gerai
[[apsaugotas el. paštu] ~] #

29. Kaip atlikti „Apache“ efektyvumo etaloną?

Norėdami naudoti žiniatinklio serverių, įskaitant Apache, apkrovos testą galite naudoti tokį įrankį kaip ApacheBench, SIEGE. Kita galimybė atlikti testavimą nepalankiausiomis sąlygomis internete, kad būtų galima pamatyti bendrą žiniatinklio programos veikimą esant apkrovai.

30. Kaip gauti „Apache Web Server“ palaikymą, jei kažkas negerai?

„Apache“ yra atvirojo kodo žiniatinklio serveris, todėl įmonės lygio palaikymo nėra. Tačiau galite kelti a klaidų pranešimas arba užduokite klausimą „Stack Overflow“.

31. Kaip užtikrinti žiniatinklio serverio paleidimą iš naujo paleidus serverį?

Jei naudojate „Linux“, tada galite įdėti scenarijų į /etc/init.d/ ir įgalinti paleidimą paleisdami naudodami komandą chkconfig

Tarkime, kad sukūrėte failą pavadinimu apache ir įdėkite į /etc/init.d

chkconfig – pridėti afišą
„chkconfig“ apaštalas įjungtas

jei naudojate „Windows“, įsitikinkite, kad paleisties tipas pasirinktas kaip „automatinis“.

32. kuo skiriasi Apache ir Nginx žiniatinklio serveriai?

Abu priskiriami žiniatinklio serverio kategorijai ir čia yra keletas pagrindinių skirtumų.

  • „Nginx“ yra įvykių pagrįstas žiniatinklio serveris, kuriame „Apache“ yra pagrįstas procesu
  • „Nginx“ žinomas dėl geresnio našumo nei „Apache“
  • „Apache“ palaiko daugybę OS, kuriose „Nginx“ nepalaiko „OpenVMS“ ir „IBMi“
  • „Apache“ turi daugybę modulių integracijos su „backend“ programos serveriu, kur „Nginx“ vis dar siekia
  • „Nginx“ yra lengvas ir greitai užima rinkos dalį. Jei esate naujokas „Nginx“, tuomet gali būti įdomu patikrinti mano straipsnius apie „Nginx“.

33. Kaip jūs nužudytumėte „Apache“, jei „grace-stop“ neveikia?

Jei veikia „Linux“, tada galite naudoti komandą „kill“.

Sužinokite „Apache“ PID naudodami ps -ef | grep http

Tada užmušk

nužudyti PIDNUMBER

jei normalus nužudymas neveikia, pabandykite nužudyti -9

nužudyti -9 $ PIDNUMBER

Jei „Windows“, tada užbaikite „Apache“ užduotį iš užduočių tvarkyklės.

34. Kaip rasti „httpd.conf“ failą, jei nežinote diegimo vietos?

„Linux“ galite naudoti komandą „rasti“.

Tarkime, kad tai turi būti / programų failų sistemoje, tada galite naudoti šią komandą.

rasti / apps -name httpd.conf

Bet jei nesate tikri dėl to, kokią failų sistemą galite rasti / failų sistemą, tačiau atminkite, kad tai gali užtrukti ilgai, atsižvelgiant į bendrą failų sistemos dydį.

rasti / vardas httpd.conf

35. Kuo skiriasi „Apache“ žiniatinklio serverio skoniai?

  • „IBM HTTP Server“ – žinomas kaip IHS ir dažnai naudojamas kartu su „IBM WebSphere Application Server“
  • „Oracle“ HTTP serveris, žinomas kaip OHS, dažnai naudojamas su „Oracle Weblogic“ serveriu

36. Kur yra „Apache“ duomenų centro vietoje?

Galite paaiškinti, remdamiesi savo patirtimi, tačiau paprastai tai yra interneto DMZ tinkle ir intraneto pagrindiniame tinkle..

Bet vėlgi tai skirsis atsižvelgiant į taikymą / organizaciją.

37. Kaip paslėpti serverio versijos informaciją HTTP atsakymo antraštėje?

Įtraukite šiuos dalykus į httpd.conf failą ir iš naujo paleiskite žiniatinklio serverį

„ServerTokens Prod“
Serverio parašas išjungtas

Tai paslėps versiją ir parodys serverį kaip „Apache” Tik.

38. Ką daro 200, 403 & 503 reiškia HTTP klaidų kodus?

  • 200 – turinys rastas ir pateiktas gerai
  • 403 – bandyta pasiekti ribotą failą / aplanką
  • 503 – serveris per daug užimtas, kad galėtų aptarnauti užklausą, kitaip tariant, paslauga negalima.
  • Norėdami sužinoti daugiau, žiūrėkite HTTP atsakymo kodo infografiką.

39. Kaip išjungti HTTP užklausų sekimą?

Įtraukite šiuos dalykus į httpd.conf failą ir paleiskite egzempliorių iš naujo

„TraceEnable“ išjungta

40. Kaip pašalinti uosto konflikto problemą?

„netstat“ būtų naudinga šalinant uosto konflikto problemą. Jei viename serveryje paleidžiate kelis egzempliorius, rekomenduojama turėti absoliutų IP: prievadą, sukonfigūruotą pagal „Klausyti“ direktyvą.

41. Kaip įdiegti trečiosios šalies modulį?

Galite pasinaudoti „Apache“ įrankių dėžė. Atsisiuntę ištraukite ją naudodami naudingumo programą.

tar -xf Apachetoolbox-1.5.72.tar.gz

Eikite į aplanką Apachetoolbox-1.5.72 naudodami komandą cd ir paleiskite žemiau esančią komandą, kad pasirinktumėte modulius savo Apache serveriui..

./instal.sh

Tai teikia tokius modulius, kaip mod_ip_forwarding, mod_auth_mysql ir mod_auth_samba, kuriuos galima kompiliuoti su „Apache“ žiniatinklio serveriu. Nors šiuos modulius galite įtraukti rankiniu būdu, naudojant „Apache Toolbox“ yra lengviau.

42. Kaip priskirti kelis vardus virtualiems pagrindiniams kompiuteriams?

Galite naudotis „ServerAlias“ direktyva, kaip parodyta žemiau.

ServerName example.com
„ServerAlias ​​awesome.com fantastinis.com“

43. Kaip apriboti įkėlimo dydį?

Turiu žiniatinklio programą, leidžiančią vartotojams įkelti failus, tokius kaip „Word“ dokumentai, pdf ir pan. Kaip apriboti vartotojų failų įkėlimą??

Norėdami apriboti įkeliamo failo dydį, galite naudotis „LimitRequestBody“ direktyva.

„LimitRequestBody 9000“

„LimitRequestBody“ priskirta vertė leidžia „Apache“ vartotojams priimti ir saugoti 9000 baitų įkeltus failus. Galite koreguoti vertę pagal poreikį.

44. Kaip apriboti IP prieigą?

Galite norėti, kad kai kurie konteksto šakniai būtų prieinami naudojant leidžiamus IP. Norėdami tai padaryti, galite pasinaudoti mod_authz_core arba mod_authz_host moduliai, skirti apriboti prieigą naudojant „Reikalauti“ direktyvą.

Reikalauti 10.0.0.2 10.0.0.4 192.168.34.23 192.168.34.23

Atlikdami aukščiau nurodytą, „Apache“ aptarnaus užklausas tik tuo atveju, jei užklausos bus pateiktos iš išvardytų IP.

Kataloge, kuriame norite leisti arba atsisakyti prieigos prie išteklių, turite nurodyti direktyvą „Reikalauti“.

Išvada

Tikiuosi, kad aukščiau pateikti klausimai ir atsakymas padės pasiruošti žiniatinklio serverio administratoriui interviu.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map