25个面向初学者和中间体的Apache面试问题

在本节中,我们介绍了一些有趣的Apache Apache作业面试问题及其答案,以便您可以轻松地了解Apache的新知识

我们非常感谢我们所有的读者,我们正在为我们的新的Linux面试部分的响应。 现在我们已经开始部分明智的学习对面试的问题,并与同今天的文章中继续着重于基础中级 Apache的面试问题,这将有助于你对自己做好准备。
Apache面试问题

Apache作业面试问题

在本节中,我们已经布满了他们的答案以及一些有趣的25Apache面试问题 ,让您可以轻松地了解关于Apache一些新的东西,你可能永远不会知道的。 在你阅读这篇文章之前,我们强烈建议你不要试图记住答案,总是首先尝试在实际的基础上了解情况。
1.什么是Apache Web服务器?
:Apache Web服务器的HTTP是最流行的,功能强大和开放源码通过对网络服务的网络文件托管在Web服务器上的网站。 它在HTTP上作为超文本传输协议工作,其为服务器和客户端web浏览器提供通信的标准。 它支持SSL,CGI文件,虚拟主机和许多其他功能。
2.如何检查Apache和它的版本?
答: 首先,使用rpm命令来检查是否安装或没有的Apache。 如果它的安装,然后使用的httpd -v命令来检查它的版本。
[root@howtoing ~]# 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@howtoing ~]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Aug 13 2013 17:27:11
3. Apache作为哪个用户运行?和主配置文件的位置?
答: 运行Apache的用户“nobody”和httpd后台。 Apache主配置文件:/etc/httpd/conf/httpd.conf(CentOS / RHEL / Fedora)和/etc/apache2.conf(Ubuntu / Debian)。
4. Apache在哪个端口监听http和https两者?
默认情况下的Apache HTTP端口80和HTTPS端口443(用于SSL证书)上运行。 您还可以使用netstat命令来检查端口。
[root@howtoing ~]# netstat -antp | grep http
tcp        0      0 :::80                       :::*                        LISTEN      1076/httpd          
tcp        0      0 :::443                      :::*                        LISTEN      1076/httpd
5.如何在Linux机器上安装Apache Server?
答: 简单地说,你可以使用任何程序包安装,如对Yum(RHEL / CentOS的/ Fedora的)和(于Debian / Ubuntu)apt-get的到你的Linux机器上安装Apache服务器。
[root@howtoing ~]# yum install httpd
[root@howtoing ~]# apt-get install apache2
6.在哪里可以找到Apache Web Server的所有配置目录?
答: 通过在/ etc / httpd的/安装(RHEL / CentOS的/ Fedora的)和/ etc上(于Debian / Ubuntu)/ Apache2默认的Apache配置目录。
[root@howtoing ~]# cd /etc/httpd/
[root@howtoing 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@howtoing ~]# cd /etc/apache2
[root@howtoing 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. Apache可以用TCP包装保护吗?
答: 不,它不能与TCP包装安全,因为它不支持Linux的libwrap.a库。
8.如何更改默认Apache端口和Listen指令在Apache中如何工作?
答: 有一个在httpd.conf文件指令“听”,它允许我们改变默认的Apache端口。 在Listen指令的帮助下,我们可以使Apache监听不同的端口以及不同的接口。
假设你有一个分配给你的Linux机器多个IP地址,并希望Apache以一种特殊的以太网端口或接口上接收HTTP请求,甚至可以用Listen指令来完成。 要修改Apache的默认端口,请打开你的Apache主配置文件httpd.confVI编辑apache2.conf文件。
[root@howtoing ~]# vi /etc/httpd/conf/httpd.conf
[root@howtoing ~]# vi /etc/apache2/apache2.conf
搜索单词“ ”,注释原线和写入线下自己的指令。
# Listen 80
Listen 8080
OR
Listen 172.16.16.1:8080
保存文件并重新启动Web服务器。
[root@howtoing ~]# service httpd restart
[root@howtoing ~]# service apache2 restart
我们可以在单个机器上有两个Apache Web服务器吗?
答: 是的,我们可以在Linux机器上运行在同一时间两个不同的Apache服务器,但该条件是他们应该听取不同的端口,我们可以改变听的Apache指令的端口。
10. Apache的DocumentRoot是什么意思?
答: 在的DocumentRoot Apache的手段,这是存储在服务器的网页文件的位置,Apache的默认的DocumentRoot是/ var / www / html等或/ var / WWW。 这可以更改为任何东西,通过在域的配置文件的虚拟主机中设置“DocumentRoot”。
11.如何在不同的文件夹中托管文件,什么是Alias指令?
答: ,这可以通过Alias指令Apache主配置文件中实现的。 Alias指令映射文件系统中的资源,它需要一个URL路径并将其替换为系统上设置为重定向的文件或目录路径。
要使用Alias指令,它的Apache的mod_alias中模块的一部分。 Alias伪指令的默认语法是:
Alias /images /var/data/images/
在这里,在上面的例子中,/图像 URL前缀在/ var /数据/图像前缀意味着客户端将用于“https://www.howtoing.com/wp-content/uploads/images/sample-image.png”和Apache会拿起查询“ 样本image.png“/var/data/images/sample-image.png服务器上的文件。它也称为URL映射。
12.“DirectoryIndex”你理解什么?
答: 是的DirectoryIndex第一个文件的名称,它的Apache查找时,请求来自一个域。 例如:www.example.com由客户端请求,因此Apache将转到该网站的文档根目录并查找索引文件(要显示的第一个文件)。
DirectoryIndex的默认设置名为.html 的index.html 的index.php,如果你有你的第一个文件的不同的名字,你需要做的的DirectoryIndex值来显示你的客户端浏览器在httpd.confapache2.conf的变化。
#
# 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.如何在索引文件丢失时禁用目录列表?
答: 如果在主索引文件在网站根目录缺失,则Apache会列出所有喜欢的浏览器,而不是主要网站的网页文件和网站的文件夹中的内容。
要停止Apache的目录列表,你可以设置主配置文件中的以下规则全局或在.htaccess文件中对特定的网站。
<Directory /var/www/html>
Options -Indexes
</Directory>
14. Apache Web Server的不同日志文件是什么?
:Apache Web服务器的默认日志文件访问日志“在/ var /日志/的httpd /访问日志”和错误日志:在/ var /日志/的httpd / error_log中“。
15.错误日志中的“通过对等连接复位”了解什么?
答: 当服务器提供任何正在进行的Apache要求和最终用户的终止之间的联系,我们可以看到“连接被对方复位”在Apache错误日志。
16.什么是Apache中的虚拟主机?
虚拟主机部分包含类似的网站名称,文档根目录,目录索引,服务器管理电子邮件,错误日志文件的位置等信息。
你可以自由添加您需要为您的域尽可能多的指令,但对于一个工作网站两个最小项是:ServerNameDocumentRoot的 。 我们通常在httpd.conf文件在Linux机器的底部定义我们的虚拟主机部分。
示例VirtualHost
<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>
  1. ServerAdmin的 :其通常网站所有者,其中误差或通知可以被发送的电子邮件地址。
  2. 的DocumentRoot:位置,网络文件位于服务器(需要)。
  3. 服务器名 :它的域名,你想从你的网页浏览器(必需)来访问。
  4. 错误日志 :它在所有的领域相关的日志被记录在日志文件的位置。
17. <Location>和<Directory>之间有什么区别?
答案:
  1. <位置>是用来设置相关的Web服务器的URL /地址栏元素。
  2. <目录>是指该文件系统对象的服务器上的位置
18.什么是Apache虚拟主机?
:Apache 的虚拟主机是一个网络服务器上托管多个网站的概念。 有两种类型的虚拟主机可以设置与Apache是基于名称的虚拟主机基于IP的虚拟主机
欲了解更多信息,请阅读如何在Apache中创建名称/ IP的虚拟主机
19.你在MPM中对Apache有什么了解?
:MPM 的全称是Multi处理模块,实际上Apache的如下一些机制来接受并完成Web服务器的请求。
20. Worker和Prefork MPM有什么区别?
答: 两者的MPM,工人和prefork的人都有自己的机制和Apache一起工作。 它完全取决于你,在哪种模式你想启动你的Apache。
  1. 工人和MPM之间的基本区别在于它们的产卵子进程的过程。在Prefork MPM中,启动主httpd进程,并且此主进程开始管理所有其他子进程以提供客户端请求。而在工作者MPM中,一个httpd进程是活动的,并且它使用不同的线程来服务客户端请求。
  2. prefork的MPM使用多个子进程每一个线程,其中工人MPM使用多个子进程,每个许多线程。
  3. 在prefork的MPM 连接处理中,每个进程处理一次一个连接,而在工MPM每个线程处理一次一个连接。
  4. 内存占用 prefork的MPM更大内存空间,其中工人有更小的内存占用。
21.“LimitRequestBody”的用法是什么?如何限制您的上传?
:LimitRequestBody 指令是用来放一个上限上传大小。
例如:我想提出的100000字节的局限在文件夹中的/ var / www / html等/ tecmin /上传。所以,你需要在Apache配置文件中添加以下指令。
<Directory "/var/www/html/howtoing/uploads">
LimitRequestBody 100000
</Directory>
什么是mod_perl和mod _php?
答案:
  1. mod_perl的是编译与Apache易于集成,提高Perl脚本性能的一个Apache模块。
  2. mod_php,并且是用于由Web服务器易于集成PHP脚本,它嵌入了Apache进程内PHP解释器。它的力量Apache子进程使用更多的内存和工作与Apache只是,但仍然非常受欢迎。
什么是Mod_evasive?
答: 它是一个第三方的模块,它可以帮助我们防止你的Web服务器从像DDOS的Web攻击,因为它执行一次只有一个任务,并执行得很好。
欲了解更多信息,请阅读指导您的文章如何安装和配置Apache mod_evasive
24.什么是Loglevel调试在httpd.conf文件?
答: 随着LOGLEVEL调试选项的帮助下,我们可以得到/登录错误日志,帮助我们调试问题的更多信息。
25. mod_ssl的用途和SSL如何与Apache协同工作?
:MOD_SSL 包是一个Apache模块,这使得Apache建立了连接,在安全加密的环境传输所有数据。 在SSL证书的帮助下,所有的登录详细信息和其他重要的秘密信息以加密的方式通过Internet传输,这防止我们的数据被窃听和IP欺骗。
SSL如何与Apache配合使用
每当https请求到达时,Apache遵循以下三个步骤:
  1. Apache生成其私有密钥并将其转换为私有密钥.csr文件文件(证书签名请求)。
  2. 然后将Apache的文件.csr文件发送到CA(认证机构)。
  3. CA将采取.csr文件文件,并将其转换为.CRT(证书),并发送.crt文件回Apache来保护和完成HTTPS连接请求。
这些只是最流行的25被问到这几天通过面试官的问题 ,请提供您所面临在最近的一次采访一些面试问题,并通过我们下面的评论部分帮助别人。 我们还建议您阅读我们以前关于Apache的文章。
  1. 13 Apache Web服务器安全和强化提示
  2. 如何使用Rsync同步两个Apache Web服务器/网站
我就拿出在DNS一些面试问题, 邮件服务器,在我们以后的文章PHP等,直到再留怪异 ,并连接到HowToing.com。