25 Apache interviu klausimai pradedantiesiems ir pažengusiems


Esame labai dėkingi visiems mūsų skaitytojams už atsakymus, kurių sulaukiame apie naują Linux interviu skiltį. Dabar mes pradėjome mokytis pagal interviu klausimus ir tęsiame tą patį šiandienos straipsnį, kuriame pagrindinis dėmesys skiriamas pagrindiniams iki vidutinio lygio Apache interviu klausimams, kurie padės jums pasiruošti.

Šioje skiltyje aptarėme keletą įdomių 25 Apache darbo pokalbio klausimų ir jų atsakymus, kad galėtumėte lengvai suprasti kai kuriuos naujus dalykus apie Apache, kurių galbūt niekada anksčiau nežinojote.

Prieš skaitant šį straipsnį, primygtinai rekomenduojame nesistengti įsiminti atsakymų, o pirmiausia stenkitės praktiškai suprasti scenarijus.

1. Kas yra Apache žiniatinklio serveris?
2. Kaip patikrinti „Apache“ ir jos versiją?
[root@tecmint ~]# rpm -qa | grep httpd

httpd-devel-2.2.15-29.el6.centos.i686
httpd-2.2.15-29.el6.centos.i686
httpd-tools-2.2.15-29.el6.centos.i686
[root@tecmint ~]# httpd -v

Server version: Apache/2.2.15 (Unix)
Server built:   Aug 13 2013 17:27:11
3. Kuris vartotojas veikia „Apache“? ir pagrindinio konfigūracijos failo vieta?.
4. Kuriame prievade „Apache“ klauso http ir https?
[root@tecmint ~]# netstat -antp | grep http

tcp        0      0 :::80                       :::*                        LISTEN      1076/httpd          
tcp        0      0 :::443                      :::*                        LISTEN      1076/httpd
5. Kaip įdiegti „Apache Server“ savo „Linux“ kompiuteryje?
[root@tecmint ~]# yum install httpd
[root@tecmint ~]# apt-get install apache2
6. Kur galite rasti visus Apache Web Server konfigūracijos katalogus?
[root@tecmint ~]# cd /etc/httpd/
[root@tecmint httpd]# ls -l
total 8
drwxr-xr-x. 2 root root 4096 Dec 24 21:44 conf
drwxr-xr-x. 2 root root 4096 Dec 25 02:09 conf.d
lrwxrwxrwx  1 root root   19 Oct 13 19:06 logs -> ../../var/log/httpd
lrwxrwxrwx  1 root root   27 Oct 13 19:06 modules -> ../../usr/lib/httpd/modules
lrwxrwxrwx  1 root root   19 Oct 13 19:06 run -> ../../var/run/httpd
[root@tecmint ~]# cd /etc/apache2
[root@tecmint apache2]# ls -l
total 84
-rw-r--r-- 1 root root  7113 Jul 24 16:15 apache2.conf
drwxr-xr-x 2 root root  4096 Dec 16 11:48 conf-available
drwxr-xr-x 2 root root  4096 Dec 16 11:45 conf.d
drwxr-xr-x 2 root root  4096 Dec 16 11:48 conf-enabled
-rw-r--r-- 1 root root  1782 Jul 21 02:14 envvars
-rw-r--r-- 1 root root 31063 Jul 21 02:14 magic
drwxr-xr-x 2 root root 12288 Dec 16 11:48 mods-available
drwxr-xr-x 2 root root  4096 Dec 16 11:48 mods-enabled
-rw-r--r-- 1 root root   315 Jul 21 02:14 ports.conf
drwxr-xr-x 2 root root  4096 Dec 16 11:48 sites-available
drwxr-xr-x 2 root root  4096 Dec  6 00:04 sites-enabled

7. Ar Apache galima apsaugoti TCP paketais?

8. Kaip pakeisti numatytąjį „Apache“ prievadą ir kaip „Apache“ veikia klausymo direktyva?

Tarkime, kad jūsų „Linux“ įrenginiui priskirti keli IP ir norite, kad „Apache“ gautų HTTP užklausas per specialų eterneto prievadą arba sąsają, net tai galima padaryti naudojant klausymo direktyvą.

Norėdami pakeisti numatytąjį „Apache“ prievadą, atidarykite pagrindinį „Apache“ konfigūracijos failą httpd.conf arba apache2.conf, naudodami VI redaktorių.

[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf

[root@tecmint ~]# vi /etc/apache2/apache2.conf

Ieškokite žodžio „Listen“, pakomentuokite pradinę eilutę ir po šia eilute parašykite savo nurodymą.

Listen 80
Listen 8080

OR

Listen 172.16.16.1:8080

Išsaugokite failą ir iš naujo paleiskite žiniatinklio serverį.

[root@tecmint ~]# service httpd restart

[root@tecmint ~]# service apache2 restart
9. Ar galime viename kompiuteryje turėti du „Apache“ žiniatinklio serverius?
10. Ką reiškia DocumentRoot of Apache?
11. Kaip talpinti failus skirtinguose aplankuose ir kas yra Alias direktyva?

Jei norite naudoti direktyvą Alias, ji yra „Apache“ modulio mod_alias dalis. Numatytoji slapyvardžio direktyvos sintaksė yra:

Alias /images /var/data/images/

Ankstesniame pavyzdyje /images URL priešdėlis yra /var/data/images, o tai reiškia, kad klientai užklausa „http://www.example. com/images/sample-image.png“ ir „Apache“ paims failą „sample-image.png“ iš /var/data/images/sample-image. png serveryje. Jis taip pat žinomas kaip URL atvaizdavimas.

12. Ką jūs suprantate kaip „DirectoryIndex“?

Numatytasis DirectoryIndex nustatymas yra .html index.html index.php, jei turite skirtingus pirmojo failo pavadinimus, turite httpd.conf arba apache2.conf DirectoryIndex vertės pakeitimus, kad tai būtų rodoma jūsų kliento naršyklėje.

#
DirectoryIndex: sets the file that Apache will serve if a directory
is requested.
#
The index.html.var file (a type-map) is used to deliver content-
negotiated documents.  The MultiViews Option can be used for the
same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var index.cgi .exe
13. Kaip išjungti katalogų sąrašą, kai trūksta indekso failo?

Norėdami sustabdyti „Apache“ katalogų sąrašą, galite nustatyti šią taisyklę pagrindiniame konfigūracijos faile visame pasaulyje arba konkrečios svetainės .htaccess faile.

<Directory /var/www/html>
   Options -Indexes
</Directory>
14. Kokie yra skirtingi Apache žiniatinklio serverio žurnalo failai?
15. Ką klaidų žurnaluose suprantate kaip „ryšį iš naujo nustatė bendraamžis“?
16. Kas yra „Virtual Host“ programoje „Apache“?

Galite laisvai pridėti tiek direktyvų, kiek reikia domenui, tačiau du minimalūs veikiančios svetainės įrašai yra ServerName ir DocumentRoot. „Linux“ įrenginiuose virtualiosios prieglobos skyrių paprastai apibrėžiame httpd.conf failo apačioje.

VirtualHost pavyzdys
<VirtualHost *:80>
   ServerAdmin [email 
   DocumentRoot /www/docs/dummy-host.example.com
   ServerName dummy-host.example.com
   ErrorLog logs/dummy-host.example.com-error_log
   CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
  1. ServerAdmin : paprastai tai yra svetainės savininko el. pašto adresas, į kurį galima išsiųsti klaidą arba pranešimą.
  2. DocumentRoot: vieta, kurioje žiniatinklio failai yra serveryje (būtina).
  3. Serverio pavadinimas : tai domeno pavadinimas, kurį norite pasiekti iš žiniatinklio naršyklės (būtina).
  4. ErrorLog : tai žurnalo failo, kuriame įrašomi visi su domenu susiję žurnalai, vieta.
17. Kuo skiriasi ir ?
  1. naudojamas elementui, susijusiam su žiniatinklio serverio URL/adreso juosta, nustatyti.
  2. nurodo failų sistemos objekto vietą serveryje
18. Kas yra Apache virtualus priegloba?

Norėdami gauti daugiau informacijos, skaitykite Kaip sukurti vardus/IP pagrįstus virtualius pagrindinius kompiuterius „Apache“.

19. Ką suprantate MPM programoje Apache?
20. Kuo skiriasi Worker ir Prefork MPM?
  1. Pagrindinis skirtumas tarp darbuotojo ir MPM yra tas, kad jie sukuria antrinį procesą. Prefork MPM paleidžiamas pagrindinis httpd procesas, o šis pagrindinis procesas paleidžiamas valdo visus kitus antrinius procesus, kad aptarnautų klientų užklausas. Tuo tarpu darbuotojo MPM yra aktyvus vienas httpd procesas ir klientų užklausoms aptarnauti naudoja skirtingas gijas.
  2. Prefork MPM naudoja kelis antrinius procesus su viena gija, o darbuotojo MPM naudoja kelis antrinius procesus su daugybe gijų.
  3. Ryšio tvarkymas „Prefork MPM“ kiekvienas procesas vienu metu apdoroja vieną ryšį, o „Worker mpm“ kiekviena gija vienu metu apdoroja vieną ryšį.
  4. Atminties plotas Prefork MPM Didelis atminties plotas, kai darbuotojas turi mažesnį atminties plotą.
21. Kuo naudingas „LimitRequestBody“ ir kaip apriboti įkėlimus?

Pavyzdžiui: noriu nustatyti 100 000 baitų apribojimus aplanke /var/www/html/tecmin/įkėlimai. Taigi, „Apache“ konfigūracijos faile turite pridėti šią direktyvą.

<Directory "/var/www/html/tecmint/uploads">
LimitRequestBody 100000
</Directory>
22. Kas yra mod_perl ir mod _php?
  1. mod_perl yra „Apache“ modulis, sudarytas su „Apache“, kad būtų lengva integruoti ir padidinti „Perl“ scenarijų našumą.
  2. mod_php naudojamas norint lengvai integruoti PHP scenarijus žiniatinklio serveryje, jis įterpia PHP interpretatorių į Apache procesą. Jis verčia Apache vaiko procesą naudoti daugiau atminties ir veikia tik su Apache, bet vis dar labai populiarus.
23. Kas yra Mod_evasive?

Norėdami gauti daugiau informacijos, perskaitykite straipsnį, kuriame paaiškinama, kaip įdiegti ir konfigūruoti mod_evasive „Apache“.

24. Kas yra loglevel derinimas httpd.conf faile?
25. Kuo naudingas mod_ssl ir kaip SSL veikia su Apache?
Kaip SSL veikia su Apache

Kai gaunama https užklausa, „Apache“ atlieka šiuos tris veiksmus:

  1. „Apache“ sugeneruoja privatųjį raktą ir konvertuoja jį į .CSR failą (sertifikato pasirašymo užklausa).
  2. Tada „Apache“ siunčia .csr failą CA (sertifikavimo institucijai).
  3. CA paims .csr failą ir konvertuos jį į .crt (sertifikatą) ir išsiųs tą .crt failą atgal į „Apache“, kad būtų apsaugotas ir užpildykite https ryšio užklausą.

Tai tik populiariausi 25 klausimai, kuriuos šiomis dienomis užduoda pašnekovai. Pateikite dar keletą interviu klausimų, su kuriais susidūrėte per pastarąjį interviu, ir padėkite kitiems toliau pateiktoje komentarų skiltyje.

Taip pat rekomenduojame perskaityti ankstesnius straipsnius apie Apache.

  1. 13 „Apache“ žiniatinklio serverio saugos ir tvirtinimo patarimų
  2. Kaip sinchronizuoti du „Apache“ žiniatinklio serverius/svetaines naudojant „Rsync“.

Be to, didžiuojamės galėdami pranešti, kad mūsų TecMint Ask skyriaus Klausimas/Atsakymas beta versija jau paleista. Jei turite klausimų bet kuria Linux tema. Prašome prisijungti prie mūsų ir paskelbti savo klausimus/užklausas adresu https://linux-console.net/ask/.

Būsimuose straipsniuose pateiksiu daugiau interviu klausimų apie DNS, pašto serverius, PHP ir kt. Geeky ir prijungtas prie TecMint.com.