我們非常感謝所有我們的讀者就我們新開(kāi)的Linux面試章節(jié)給我們的回復(fù). 而現(xiàn)在我們已經(jīng)開(kāi)始了關(guān)于面試提問(wèn),以及同今天關(guān)注的基礎(chǔ)到中級(jí)的Apache面試提問(wèn)的章節(jié)的學(xué)習(xí),這將能夠幫助你自己做好面試的準(zhǔn)備.
Apache 求職面試提問(wèn)
在這一節(jié)涵蓋了25個(gè)有趣的Apache工作面試中會(huì)提出的問(wèn)題,并附帶有它們的答案,因此你可以方便的理解也許你之前從來(lái)沒(méi)有見(jiàn)到過(guò)的一些有關(guān)于Apache的新事物.
答案 : Apache web 服務(wù)器 HTTP 是一個(gè)非常流行、功能強(qiáng)大并且開(kāi)源,用于管理web站點(diǎn)并向網(wǎng)絡(luò)提供web文件服務(wù). 它基于 HTTP 超文本傳輸協(xié)議運(yùn)行, 這一協(xié)議提供了服務(wù)器和客戶端web瀏覽器通信的標(biāo)準(zhǔn). 它支持 SSL, CGI 文件, 虛擬主機(jī)還有許多其它的功能特性.
答案 : 首先,使用rpm命令來(lái)檢查Apache是否已經(jīng)安裝. 如果已經(jīng)安裝好了,那就使用httpd -v 命令來(lái)姜茶它的版本.
[root@tecmint ~]# rpm -qa | grep httpdhttpd-devel-2.2.15-29.el6.centos.i686httpd-2.2.15-29.el6.centos.i686httpd-tools-2.2.15-29.el6.centos.i686
[root@tecmint ~]# httpd -vServer version: Apache/2.2.15 (Unix)Server built: Aug 13 2013 17:27:11
答案 : Apache 以“nobody”用戶和httpd守護(hù)進(jìn)程運(yùn)行. Apache 主要的配置文件在: /etc/httpd/conf/httpd.conf (CentOS/RHEL/Fedora) 還有 /etc/apache2.conf (Ubuntu/Debian).
答案 : 可以,我們?cè)谝慌_(tái)Linux機(jī)器上同時(shí)運(yùn)行兩個(gè)不同的Apache服務(wù)器, 但條件是它們應(yīng)該在不同的端口上偵聽(tīng),而我們可以使用Apache的Listen指令來(lái)改變端口.
答案 : DocumentRoot 的 Apache 意思是服務(wù)器上web文件的存儲(chǔ)位置, 默認(rèn)的DocumentRoot是 /var/www/html 或者 /var/www. 這是可以被修改的,只要修改主機(jī)中的虛擬主機(jī)配置 “DocumentRoot”就行了.
答案 : 是的,這可以借助于主Apache配置文件中的Alias指令做到. Alias 指令可以對(duì)文件系統(tǒng)中的資源按圖索驥, 它使用一個(gè)URL 路徑,并且使用重定向到系統(tǒng)上的一個(gè)文件或目錄來(lái)替換它.
使用Alias指令,它是Apache的 mod_alias 模塊的一部分. Alias指令的默認(rèn)語(yǔ)法是:
Alias /images /var/data/images/
答案 : DirectoryIndex 是當(dāng)有一個(gè)來(lái)自主機(jī)的請(qǐng)求時(shí)Apache首先會(huì)去查找的文件. 例如: 客戶端發(fā)送請(qǐng)求www.example.com, Apache 對(duì)此將到站點(diǎn)的文件根目錄查找index文件 (首先要展示的文件).
DirectoryIndex 的默認(rèn)設(shè)置是 .html index.html index.php, 如果不是這個(gè)名字, 你需要對(duì) httpd.conf 或者 apache2.conf 中的 DirectoryIndex 值做出修改,以將其展示在你的客戶端瀏覽器上.
## 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
答案 : 如果站點(diǎn)根目錄中的主index文件失效, 那么Apache將會(huì)在瀏覽器上列出所有內(nèi)容類(lèi)似的文件,以替換站點(diǎn)主頁(yè).
為了關(guān)閉Apache目錄列表, 你可以在主配置文件中全局的設(shè)置,或者在.htaccess文件中部分的設(shè)置如下規(guī)則.
<Directory /var/www/html> Options -Indexes</Directory>
答案 : Apache Web 服務(wù)器的默認(rèn)日志文件是訪問(wèn)日志 “/var/log/httpd/access_log” 和錯(cuò)誤日志:/var/log/httpd/error_log”.
答案 : 當(dāng)服務(wù)器正在向請(qǐng)求提供服務(wù)時(shí)終端用戶中斷連接, 我們就會(huì)在錯(cuò)誤日志中看到“connection reset by peer“.
答案 : 虛擬主機(jī)部分包含的信息包括站點(diǎn)名稱,文檔根路徑,目錄索引,服務(wù)器管理員郵箱,錯(cuò)誤日志文件路徑等等。
你可以隨意為你的域添加你需要的指令,但是要運(yùn)行一個(gè)站點(diǎn),至少要配置量個(gè)參數(shù)服務(wù)器名稱和文檔根目錄。 在Linux機(jī)器上,通常我們?cè)?strong style="PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; MARGIN: 0px; PADDING-RIGHT: 0px">httpd.conf文件的末尾來(lái)設(shè)定我們的虛擬主機(jī)部分的相關(guān)配置。
<VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com 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>
ServerAdmin : 通常是指站點(diǎn)擁有者的電子郵箱,錯(cuò)誤和通知可以發(fā)到里面。
DocumentRoot : web文件在服務(wù)器上存放位置(必須配置).
ServerName : 通過(guò)瀏覽器訪問(wèn)站點(diǎn)時(shí)的域名(必須配置).
答案 :
<Location> 是用來(lái)設(shè)定和URL/ web服務(wù)器的地址欄相關(guān)的元素的。
<Directory> 是指服務(wù)器上某對(duì)象在文件系統(tǒng)中的位置
答案 : Apache虛擬托管是指,在單個(gè)web服務(wù)器上托管多個(gè)web站點(diǎn)。Apache 可以設(shè)定兩種類(lèi)型的虛擬主機(jī):基于名稱的虛擬托管和基于IP的虛擬主機(jī)托管。
更多相關(guān)信息,請(qǐng)參閱 如何在Apache中創(chuàng)建基于Name/IP的虛擬主機(jī)。
答案 : MPM意思是Multi Processing Modules,實(shí)際上是指Apache遵循的一些機(jī)制,用來(lái)接受和完成對(duì)web服務(wù)器的請(qǐng)求。
答案 : 它們都是MPM, Worker 和 prefork 有它們各自在Apache上的運(yùn)行機(jī)制. 它們完全依賴于你想要以哪一種模式啟動(dòng)你的Apache.
Worker 和 MPM基本的區(qū)別在于它們產(chǎn)生子進(jìn)程的處理過(guò)程. 在Prefork MPM中, 一個(gè)主httpd進(jìn)行被啟動(dòng),這個(gè)主進(jìn)程會(huì)管理所有其它子進(jìn)程為客戶端請(qǐng)求提供服務(wù). 而在worker MPM中一個(gè)httpd進(jìn)程被激活,則會(huì)使用不同的線程來(lái)為客戶端請(qǐng)求提供服務(wù).
Prefork MPM 使用多個(gè)子進(jìn)程,每一個(gè)進(jìn)程帶有一個(gè)線程而 worker MPM 使用多個(gè)子進(jìn)程,每一個(gè)進(jìn)程帶有多個(gè)線程.
Prefork MPM中的連接處理, 每一個(gè)進(jìn)程一次處理一個(gè)連接而在Worker mpm中每一個(gè)線程一次處理一個(gè)連接.
內(nèi)存占用 Prefork MPM 占用龐大的內(nèi)存, 而Worker占用更小的內(nèi)存.
答案 : LimitRequestBody 指令被用來(lái)在上傳大小上做一個(gè)限制.
例如: 我想要在 /var/www/html/tecmin/uploads目錄中加入 100000 字節(jié)的限制. 那么你就需要在Apache配置文件中加入下面的指令.
<Directory "/var/www/html/tecmint/uploads">LimitRequestBody 100000</Directory>
答案:
mod_perl 是一個(gè)隨同Apache一起編譯的Apache模塊,用來(lái)做Perl腳本的簡(jiǎn)單集成并提升其性能.
mod_php 用來(lái)做web服務(wù)器PHP腳本的簡(jiǎn)單集成, 它在Apache進(jìn)程中嵌入了PHP解釋器. 它強(qiáng)制Apache子進(jìn)程使用更多的內(nèi)存,并且只能在Apache上使用,但是仍然很流行.
答案: 它是一個(gè)保護(hù)你的web服務(wù)器不受像DDOS之類(lèi)的web攻擊的第三方模塊,因?yàn)樗淮沃粓?zhí)行一個(gè)任務(wù),所有執(zhí)行得很不錯(cuò).
更多信心,請(qǐng)閱讀這篇文章, 它會(huì)指導(dǎo)你 如何在Apache中安裝并配置mod_evasive.
答案 : 在Loglevel Debug 選項(xiàng)的幫助下, 我們可以在錯(cuò)誤日志中獲取或者記錄更多的信息,以幫助我們調(diào)試問(wèn)題.
回答: Mod_ssl 是一個(gè)Apache模塊, 它使Apache可以在一個(gè)安全的加密環(huán)境中建立連接和傳輸數(shù)據(jù)。 使用SSL證書(shū),所有的登錄信息和其他重要的保密信息都會(huì)以加密的方式在Internet上進(jìn)行傳輸,這會(huì)防止我們的數(shù)據(jù)被竊取或IP欺騙。
每當(dāng)https請(qǐng)求到達(dá),Apache都會(huì)執(zhí)行以下三步:
Apache生成它的私鑰并且將私鑰轉(zhuǎn)換為.CSR 文件 (證書(shū)簽發(fā)請(qǐng)求).
然后Apache發(fā)送 .csr 文件給 CA (證書(shū)管理中心).
CA 收到.csr 文件 并轉(zhuǎn)換為 .crt (證書(shū)) 然后再發(fā)回給Apache 來(lái)完成https連接請(qǐng)求.
這就是目前被面試官問(wèn)到的最流行的25的問(wèn)題, 請(qǐng)?jiān)谙旅嬖u(píng)論部分分享你最近面試被問(wèn)到的面試問(wèn)題來(lái)幫助其他其他面試者。
聯(lián)系客服