共計(jì) 6816 個(gè)字符,預(yù)計(jì)需要花費(fèi) 18 分鐘才能閱讀完成。
本篇內(nèi)容主要講解“Apache Web Server 面試問答題有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓丸趣 TV 小編來帶大家學(xué)習(xí)“Apache Web Server 面試問答題有哪些”吧!
1. 如何停止 / 啟動(dòng) Apache Web 服務(wù)器?
您可以通過轉(zhuǎn)到 Apache 實(shí)例位置 bin 文件夾重新啟動(dòng)并執(zhí)行 apachectl 腳本。
./apachectl stop
./apachectl start 復(fù)制
您也可以使用 /etc/init.d/ 中的腳本。通常將其命名為“apache”或“httpd”
/etc/init.d/apache stop
/etc/init.d/apache start 復(fù)制
另一個(gè)過程是使用服務(wù)
httpd stop
service httpd start
2. HTTP 和 HTTPS 的默認(rèn)端口是什么?
HTTP 的默認(rèn)端口是 80 和 HTTPS443。點(diǎn)這里可以獲取到詳細(xì)列出了其他應(yīng)用程序的默認(rèn)端口。
3. 您能告訴我重要的配置文件名稱嗎?
httpd.conf 是 Apache 中使用的主要配置文件。
4. 如何檢查正在運(yùn)行的 Apache Web Server 的版本?
有多種找到此方法的方法,但更準(zhǔn)確地說是:
(1) 登錄到 Web 服務(wù)器
(2) 轉(zhuǎn)到 apache 實(shí)例和 bin 文件夾
(3) 用 - v 執(zhí)行 httpd 以獲取版本詳細(xì)信息
[root@lab sbin]# ./httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Jul 18 2016 15:24:00
[root@lab sbin]#
或者,您也可以使用 rpm 命令檢查安裝的版本。獲取參考
[root@lab ~]# rpm -qa |grep httpd
httpd-2.2.15-54.el6.centos.x86_64
httpd-tools-2.2.15-54.el6.centos.x86_64
[root@lab ~]#
5. 如何知道 Web 服務(wù)器是否正在運(yùn)行?
有多種找到方法。
(1) 登錄到 Web 服務(wù)器并進(jìn)行 grep 的“httpd”處理
ps -ef |grep httpd 復(fù)制
(2) 在監(jiān)視儀表板上檢查是否有任何警報(bào) (3) 檢查您的 apache IP:port 是否可以在瀏覽器中訪問 (4) 使用 netstat 檢查配置的 IP 和端口是否正在服務(wù)器上偵聽
netstat -anlp |grep 80
6. 如何安裝 Apache HTTP?
有三種可能的方法來安裝此程序,點(diǎn)這里更多 JAVA 中間件內(nèi)容詳見
(1) 使用源代碼 –您可以下載源代碼并進(jìn)行編譯。
從 http://httpd.apache.org/download.cgi 下載最新版本 使用 tar 實(shí)用程序或 gzip 實(shí)用程序提取源,具體取決于文件類型:.tar 或.tar.gz
tar xvf httpd-1.2.3.tar
gzip -d httpd-1.2.4.tar.gz
通過 cd 命令導(dǎo)航到提取源的位置,并./configure 在終端上使用命令進(jìn)行配置, 然后使用 make 命令進(jìn)行編譯。最后,使用 make install 命令進(jìn)行安裝。如果要查找有關(guān)如何配置它的更多選項(xiàng),可以使用該 configure –help 命令。
(2)YUM 存儲(chǔ)庫
如果您的服務(wù)器已連接到 Internet 或具有內(nèi)部存儲(chǔ)庫,則可以使用 yum 進(jìn)行安裝。參考教程
yum install httpd
(3)RPM
您可以下載必要的 RPM 軟件包并使用 rpm 命令。
rpm -ivh packagename.rpm
7. 如何確保 Apache 僅偵聽服務(wù)器上的一個(gè) IP 地址?
當(dāng)服務(wù)器上有多個(gè) IP 時(shí),通常需要這樣做。為了確保 Apache 僅偵聽指定的 IP,則需要在 Listen 指令中明確提及 IP 和端口。
例如:
Listen 10.10.10.10:80
8. 如何確保 Apache 以非 root 用戶 / nobody 用戶運(yùn)行?
這可以通過在 httpd.conf 文件中添加 User&Group 指令來實(shí)現(xiàn)
User apache
Group apache
上面的配置示例將確保它以“apache”用戶開頭。在配置服務(wù)器之前,必須確保服務(wù)器上存在用戶。
9. 如何禁用目錄索引?
您可以在相應(yīng)的目錄指令中使用“Options -Indexes”。例如:
Directory /
Options -Indexes
/Directory
10. 哪個(gè)模塊需要重定向?
mod_rewrite 負(fù)責(zé)重定向,并且必須在 httpd.conf 文件中取消注釋。
LoadModule rewrite_module modules/mod_rewrite.so
11. 您可以將監(jiān)聽端口從默認(rèn)端口更改為其他端口嗎?
是的,可以通過在 Listen 指令中指定端口號(hào)來實(shí)現(xiàn)。例如:使 Apache 在 9000 端口上偵聽 10.10.10.10 IP 地址。
Listen 10.10.10.10:9000
12. 如何保護(hù) Apache Web Server 上托管的網(wǎng)站?
有多種保護(hù) Apache Web 服務(wù)器安全的方法,包括以下幾種。
(1) 實(shí)施 SSL
(2) 與 WAF(Web 應(yīng)用程序防火墻)(如 ModSecurity 等)集成
(3) 使用基于云的安全提供程序
13. Apache 生成哪些日志文件?
創(chuàng)建了兩個(gè)流行的日志文件。
access.log –所有請(qǐng)求詳細(xì)信息以及狀態(tài)碼
error.log –捕獲 apache 或連接到后端中的所有錯(cuò)誤
14. 如何創(chuàng)建企業(yè) CSR?
您可以使用以下 OpenSSL 命令或在線生成 CSR。
openssl req -out geekflare.csr -newkey rsa:2048 -nodes -keyout geekflare.key
15. 什么是虛擬主機(jī)?
Apache 中的虛擬主機(jī)允許您在單個(gè)實(shí)例上托管多個(gè)網(wǎng)站。您可以創(chuàng)建基于 IP 或基于虛擬主機(jī)的名稱。
16. 連接到 WebSphere 需要什么模塊?
mod_was_ap22_http.so 必須以 httpd.conf 文件形式添加才能與 IBM WAS 集成。
17. 如何將日志級(jí)別置于調(diào)試模式?
當(dāng)您對(duì)問題進(jìn)行故障排除并希望捕獲更多詳細(xì)信息時(shí),通常需要使用它。您可以通過確保 httpd.conf 文件中的以下內(nèi)容來更改日志記錄級(jí)別以進(jìn)行調(diào)試。
LogLevel debug
18. 啟用 SSL 需要哪個(gè)模塊?
在實(shí)施 SSL 之前,必須取消對(duì) mod_ssl 模塊的注釋。
LoadModule auth_basic_module modules/mod_ssl.so
19. WebLogic 模塊名稱是什么?
mod_wl_22.so
20. Apache 中可用的日志級(jí)別是什么?
默認(rèn)配置設(shè)置為“warn”,但是也可以進(jìn)行以下操作。
調(diào)試 信息 警告 注意 暴擊 報(bào)警 能源 錯(cuò)誤
21. 什么是 DocumentRoot?
DocumentRoot 指令是一種配置,您可以在其中指定將從中提供靜態(tài)文件的文件夾位置。也稱為 WebRoot。
Default DocumentRoot location is /var/www/html
22. 如何在 Apache 中部署 war 或 JAVA 應(yīng)用程序?
Apache 是 Web 服務(wù)器,并且它無法進(jìn)行基于 Java 的應(yīng)用程序部署。但是,您可以集成 Java 應(yīng)用程序服務(wù)器,例如 WebLogic,WebSphere 和 JBoss,在其中可以部署 war,ear 文件。點(diǎn)這里見更多
23. Apache Web 服務(wù)器和 Apache Tomcat 有什么區(qū)別?
Apache Web 是用于提供靜態(tài)內(nèi)容的 HTTP 服務(wù)器,其中 Tomcat 是用于部署 JSP 文件的 servlet 容器。
您始終可以 ** 將 Apache HTTP 與 Tomcat 集成,但是,根據(jù)需要,您可以選擇其中之一。如果您需要合適的 Web 服務(wù)器,則可以使用 Apache HTTP 或 JSP-Servlet 容器的 Tomcat。
24. Apache 如何充當(dāng)代理服務(wù)器?
您可以使用 mod_proxy 模塊用作代理服務(wù)器。mod_proxy 模塊可用于連接到后端服務(wù)器,例如 Tomcat,WebLogic,WebSphere 等。
25. 如何配置 Apache 日志,以捕獲服務(wù)請(qǐng)求所花費(fèi)的時(shí)間?**
您可以在 LogFormat 指令下的 httpd.conf 文件中添加“%D”,以捕獲響應(yīng)請(qǐng)求所花費(fèi)的響應(yīng)時(shí)間。它將以毫秒為單位顯示時(shí)間。
LogFormat %h %l %u %t \ %r\ % s %b \ %{Referer}i\ \ %{User-Agent}i\ %D combined
重新啟動(dòng) Apache Web 服務(wù)器,您可以看到結(jié)果。
182.19.197.23 - - [02/Oct/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, like Gecko) Chrome/53.0.2785.116 Safari/537.36 1515
182.19.197.23 - - [02/Oct/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, like Gecko) Chrome/53.0.2785.116 Safari/537.36 424
182.19.197.23 - - [02/Oct/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, like Gecko) Chrome/53.0.2785.116 Safari/537.36 472
26. 您使用什么工具進(jìn)行日志分析?
可以使用 GoAccess,SumoLogic 等諸多工具。
27. 您與 Apache 一起使用過哪些 Web 服務(wù)器?
市場(chǎng)上有很多 Web 服務(wù)器,選擇自己熟悉等即可,比如 Nginx 等。
28. 如何驗(yàn)證 httpd.conf 文件以確保沒有配置語法錯(cuò)誤?
httpd –t 將幫助您檢查語法。
[root@lab httpd]# /usr/sbin/httpd -t
Syntax OK
[root@lab httpd]#
另外,您也可以使用 apachectl 命令。
[root@lab ~]# /usr/sbin/apachectl configtest
Syntax OK
[root@lab ~]#
29. 如何執(zhí)行 Apache 性能基準(zhǔn)測(cè)試?
您可以使用 ApacheBench,SIEGE 之類的工具在包括 Apache 在內(nèi)的 Web 服務(wù)器上執(zhí)行負(fù)載測(cè)試。在線執(zhí)行壓力測(cè)試的另一種選擇,以查看 Web 應(yīng)用程序在負(fù)載下的總體性能。
30. 如果出現(xiàn)問題,如何獲得對(duì) Apache Web Server 的支持?
Apache 是一個(gè)開源 Web 服務(wù)器,因此沒有企業(yè)級(jí)支持。但是,您可以提出錯(cuò)誤報(bào)告或?qū)Χ褩R绯鎏岢鰡栴}。
31. 如何確保服務(wù)器重啟后 Web 服務(wù)器能夠啟動(dòng)?
如果運(yùn)行 Linux,則可以將腳本放在 /etc/init.d/ 中,并使用 chkconfig 命令啟用啟動(dòng)
假設(shè)您創(chuàng)建了一個(gè)名為 apache 的文件,并將其放在 /etc/init.d 下
chkconfig --add apache
chkconfig apache on
如果在 Windows 上,則確保啟動(dòng)類型選擇為“自動(dòng)”。
32. Apache 和 Nginx Web 服務(wù)器有什么區(qū)別?
兩者都?xì)w類為 Web 服務(wù)器,這是一些主要區(qū)別。
(1)Nginx 是基于事件的 Web 服務(wù)器,其中 Apache 基于進(jìn)程
(2)Nginx 以比 Apache 更好的性能而聞名
(3)Apache 支持 Nginx 不支持 OpenVMS 和 IBMi 的各種操作系統(tǒng)
(4)Apache 已與 Nginx 仍在追趕的后端應(yīng)用程序服務(wù)器進(jìn)行了大量模塊集成
(5)Nginx 輕巧,可以迅速占領(lǐng)市場(chǎng)份額
33. 如果無法正常運(yùn)行,您將如何殺死 Apache?
如果在 Linux 上運(yùn)行,則可以使用 kill 命令。使用 ps -ef | grep http 找出 Apache 的 PID, 然后殺死它。
kill $PIDNUMBER
如果正常殺死無效,請(qǐng)嘗試殺死 -9
kill -9 $PIDNUMBER
如果在 Windows 上,則從任務(wù)管理器結(jié)束 Apache 任務(wù)。
34. 如果您不知道安裝位置,如何找到 httpd.conf 文件?
在 Linux 中,您可以使用 find 命令。
假設(shè)您知道它必須在 / apps 文件系統(tǒng)中,那么可以使用以下命令。
find /apps -name httpd.conf
但是,如果不確定哪個(gè)文件系統(tǒng),則可以在 / 文件系統(tǒng)上查找,但請(qǐng)記住,根據(jù)文件系統(tǒng)的整體大小,可能要花很長(zhǎng)時(shí)間。
find / -name httpd.conf
35. 您知道 Apache Web 服務(wù)器有哪些不同的風(fēng)格?
(1)IBM HTTP Server –被稱為 IHS,通常與 IBM WebSphere Application Server 一起使用
(2)Oracle HTTP Server- 稱為 OHS,通常與 Oracle Weblogic 服務(wù)器一起使用
36. Apache 在數(shù)據(jù)中心位置在哪里?
您可以根據(jù)自己的經(jīng)驗(yàn)進(jìn)行解釋,但是,通常對(duì)于面向 Internet 的應(yīng)用程序,它應(yīng)該位于 Internet DMZ 網(wǎng)絡(luò)中以及 Intranet,核心網(wǎng)絡(luò)中。
但這又會(huì)因應(yīng)用程序 / 組織而異。
37. 如何在 HTTP 響應(yīng)標(biāo)頭中隱藏服務(wù)器版本詳細(xì)信息?
在 httpd.conf 文件中添加以下內(nèi)容,然后重新啟動(dòng) Web 服務(wù)器
ServerTokens Prod
ServerSignature Off
這將隱藏版本并將服務(wù)器顯示為“僅 Apache”。
38. 200、403 和 503 HTTP 錯(cuò)誤代碼是什么意思?
200 –找到內(nèi)容并投放
403 –嘗試訪問受限制的文件 / 文件夾
503- 服務(wù)器太忙,無法處理請(qǐng)求,換句話說,服務(wù)不可用
39. 如何禁用跟蹤 HTTP 請(qǐng)求?
在 httpd.conf 文件中添加以下內(nèi)容,然后重新啟動(dòng)實(shí)例
TraceEnable off
40. 如何解決端口沖突問題?
netstat 對(duì)解決端口沖突問題很有用。如果在單個(gè)服務(wù)器上運(yùn)行多個(gè)實(shí)例,則建議為監(jiān)聽指令配置絕對(duì) IP:Port。
41. 如何安裝第三方模塊?
您可以使用 Apache Toolbox。下載后,使用 tar 實(shí)用程序?qū)⑵浣鈮嚎s。
tar -xf Apachetoolbox-1.5.72.tar.gz
Apachetoolbox-1.5.72 使用 cd 命令導(dǎo)航到該文件夾,然后運(yùn)行以下命令為您的 Apache 服務(wù)器選擇模塊。
./install.sh
它提供了 mod_ip_forwarding,mod_auth_mysql 和 mod_auth_samba 與 Apache Web 服務(wù)器一起編譯的模塊。盡管您可以手動(dòng)包括這些模塊,但是使用 Apache Toolbox 更加容易。
42. 如何為虛擬主機(jī)分配多個(gè)名稱?
您可以使用 ServerAlias 如下所示的指令。
ServerName example.com
ServerAlias awesome.com fantastic.com
43. 如何限制上傳大小?
我有一個(gè) Web 應(yīng)用程序,允許用戶上傳文件,如 Word 文檔,pdf 等。如何限制用戶上傳文件?
您可以使用 LimitRequestBody 指令限制上傳文件的大小。
Directory usr/local/apache2/uploads
LimitRequestBody 9000
/Directory
分配給的值 LimitRequestBody 允許 Apache 接受并存儲(chǔ)用戶上傳的 9000 字節(jié)的文件。您可以根據(jù)需要調(diào)整值。
44. 如何限制 IP 訪問?
您可能希望某些上下文根可由允許的 IP 訪問。為此,您可以使用 mod_authz_core 或 mod_authz_host 模塊使用 Require 指令限制訪問。
Require 10.0.0.2 10.0.0.4 192.168.34.23 192.168.34.23
通過上述操作,僅當(dāng)請(qǐng)求來自列出的 IP 時(shí),Apache 才會(huì)處理請(qǐng)求。
您需要 Require 在目錄中指定要允許或拒絕訪問資源的指令。
到此,相信大家對(duì)“Apache Web Server 面試問答題有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!