25 Apache intervijas jautājumi iesācējiem un starpniekiem


Mēs esam ļoti pateicīgi visiem mūsu lasītājiem par atsaucību, ko saņemam par mūsu jauno Linux interviju sadaļu. Un tagad mēs esam sākuši gudru sadaļu apguvi intervijas jautājumiem un turpinot to pašu šodienas rakstu, kas koncentrējas uz pamata un starpposma Apache intervijas jautājumiem, kas palīdzēs jums sagatavoties pašiem.

Šajā sadaļā mēs esam aplūkojuši dažus interesantus 25 Apache darba intervijas jautājumus kopā ar to atbildēm, lai jūs varētu viegli saprast dažas jaunas lietas par Apache, kuras jūs, iespējams, nekad iepriekš nezināt.

Pirms lasāt šo rakstu, iesakām nemēģināt iegaumēt atbildes, vispirms vienmēr mēģiniet praktiski izprast scenārijus.

 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
 httpd -v

Server version: Apache/2.2.15 (Unix)
Server built:   Aug 13 2013 17:27:11
 netstat -antp | grep http

tcp        0      0 :::80                       :::*                        LISTEN      1076/httpd          
tcp        0      0 :::443                      :::*                        LISTEN      1076/httpd
 yum install httpd
 apt-get install apache2
 cd /etc/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
 cd /etc/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. Vai Apache var nodrošināt ar TCP iesaiņotājiem?

Pieņemsim, ka jūsu Linux mašīnai ir piešķirti vairāki IP un vēlaties, lai Apache saņem HTTP pieprasījumus īpašā Ethernet portā vai saskarnē, pat to var izdarīt ar Klausīšanās direktīvu.

Lai mainītu Apache noklusējuma portu, lūdzu, atveriet savu Apache galveno konfigurācijas failu httpd.conf vai apache2.conf ar VI redaktoru.

 vi /etc/httpd/conf/httpd.conf

 vi /etc/apache2/apache2.conf

Meklējiet vārdu “Klausīties”, komentējiet sākotnējo rindu un zem šīs rindiņas uzrakstiet savu direktīvu.

# Listen 80
Listen 8080

OR

Listen 172.16.16.1:8080

Saglabājiet failu un restartējiet tīmekļa serveri.

 service httpd restart

 service apache2 restart

Lai izmantotu Alias direktīvu, tā ir Apache mod_alias moduļa daļa. Alias direktīvas noklusējuma sintakse ir:

Alias /images /var/data/images/

Iepriekšējā piemērā/images url prefikss/var/data/images prefiksam nozīmē, ka klienti vaicās vaicājumam “http://www.example.com/images/sample-image.png” un Apache uzņems “ sample-image.png ”fails no /var/data/images/sample-image.png uz servera. To sauc arī par URL kartēšanu.

DirectoryIndex noklusējuma iestatījums ir .html index.html index.php. Ja jūsu pirmajam failam ir atšķirīgi nosaukumi, jums ir jāveic izmaiņas direktorija DirectoryIndex vērtībā httpd.conf vai apache2.conf, lai to parādītu klienta pārlūkprogrammā.

#
# 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

Lai apturētu Apache direktoriju sarakstu, varat iestatīt šo kārtulu galvenajā konfigurācijas failā globāli vai .htaccess failā konkrētai vietnei.

<Directory /var/www/html>
   Options -Indexes
</Directory>

Jūs varat brīvi pievienot tik daudz domēnam nepieciešamo direktīvu, bet divi minimālie darbojošās vietnes ieraksti ir ServerName un DocumentRoot. Virtuālā resursdatora sadaļu mēs parasti definējam faila httpd.conf apakšdaļā Linux mašīnās.

<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: parasti tā ir vietnes īpašnieka e-pasta adrese, kur var nosūtīt kļūdu vai paziņojumu.
  2. DocumentRoot: vieta, kur tīmekļa faili atrodas serverī (nepieciešams).
  3. ServerName: tā domēna nosaukums, kuram vēlaties piekļūt no savas tīmekļa pārlūkprogrammas (nepieciešams).
  4. ErrorLog: tā ir žurnāla faila atrašanās vieta, kur tiek ierakstīti visi ar domēnu saistītie žurnāli.

  1. tiek izmantots, lai iestatītu elementu, kas saistīts ar tīmekļa servera URL/adreses joslu.
  2. attiecas uz failu sistēmas objekta atrašanās vietu serverī

Lai iegūtu papildinformāciju, lasiet rakstā Kā izveidot uz nosaukuma/IP balstītus virtuālos resursdatorus Apache.

  1. Galvenā atšķirība starp darba ņēmēju un MPM ir bērna nārsta process. Prefork MPM tiek sākts galvenais httpd process, un šis galvenais process sāk pārvaldīt visus pārējos pakārtotos procesus, lai apkalpotu klienta pieprasījumus. Tā kā darba ņēmēja MPM ir aktīvs viens httpd process, un klienta pieprasījumu apkalpošanai tiek izmantoti dažādi pavedieni.
  2. Prefork MPM izmanto vairākus pakārtotos procesus ar vienu pavedienu, bet darbinieka MPM izmanto vairākus pakārtotos procesus ar katru daudz pavedienu.
  3. Savienojuma apstrāde Prefork MPM, katrs process apstrādā vienu savienojumu vienlaikus, savukārt Worker mpm katrs pavediens vienlaikus apstrādā vienu savienojumu.
  4. Atmiņas pēdas Prefork MPM Lielas atmiņas pēdas, kur darbiniekam ir mazākas atmiņas pēdas.

Piemēram: Es gribu ievietot mapē/var/www/html/tecmin/uploads 100 000 baitu ierobežojumus. Tātad, Apache konfigurācijas failā jāpievieno šāda direktīva.

<Directory "/var/www/html/tecmint/uploads">
LimitRequestBody 100000
</Directory>

  1. mod_perl ir Apache modulis, kas ir kompilēts ar Apache, lai ērti integrētu un palielinātu Perl skriptu veiktspēju.
  2. mod_php tiek izmantots, lai tīmekļa serveris varētu viegli integrēt PHP skriptus, tas ietver PHP tulku Apache procesā. Tā liek Apache bērna procesam izmantot vairāk atmiņas un darbojas tikai ar Apache, taču joprojām ir ļoti populāra.

Lai iegūtu papildinformāciju, izlasiet rakstu, kurā ir norādīts, kā instalēt un konfigurēt mod_evasive Apache.

Ikreiz, kad parādās https pieprasījumi, Apache veic šīs trīs darbības:

  1. Apache ģenerē savu privāto atslēgu un pārvērš šo privāto atslēgu .CSR failā (sertifikāta parakstīšanas pieprasījums).
  2. Pēc tam Apache nosūta .csr failu CA (sertifikātu iestādei).
  3. CA paņems .csr failu un pārveidos to par .crt (sertifikātu) un nosūtīs šo .crt failu atpakaļ uz Apache, lai nodrošinātu un pabeigtu https savienojuma pieprasījumu.

Šie ir tikai vispopulārākie 25 jautājumi, kurus mūsdienās uzdod intervētāji. Lūdzu, sniedziet vēl dažus intervijas jautājumus, ar kuriem esat saskāries nesenajā intervijā, un palīdziet citiem, izmantojot mūsu komentāru sadaļu.

Mēs iesakām arī izlasīt mūsu iepriekšējos rakstus par Apache.

  1. 13 Apache tīmekļa servera drošības un cietēšanas padomi
  2. Kā sinhronizēt divus Apache tīmekļa serverus/vietnes, izmantojot Rsync

Mēs ar lepnumu paziņojam, ka mūsu TecMint Ask sadaļas Jautājumi/Atbildes Beta versija jau ir palaista. Ja jums ir jautājumi par kādu no Linux tēmām. Lūdzu, pievienojieties mums un ievietojiet savus jautājumus/jautājumus vietnē https://linux-console.net/ask/.

Nākamajos rakstos es izdomāšu vēl dažus intervijas jautājumus par DNS, pasta serveriem, PHP utt., Līdz tam paliecu Geeky un savienots ar TecMint.com.