Apache作业面试问题
1.什么是Apache Web服务器?
答:Apache
Web服务器的HTTP是最流行的,功能强大和开放源码通过对网络服务的网络文件托管在Web服务器上的网站。
它在HTTP上作为超文本传输协议工作,其为服务器和客户端web浏览器提供通信的标准。
它支持SSL,CGI文件,虚拟主机和许多其他功能。
2.如何检查Apache和它的版本?
答:
首先,使用rpm命令来检查是否安装或没有的Apache。
如果它的安装,然后使用的httpd -v命令来检查它的版本。
[root@youcl ~]# 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@youcl ~]# 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两者?
[root@youcl ~]# 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@youcl ~]# yum install httpd
[root@youcl ~]# apt-get install apache2
6.在哪里可以找到Apache Web Server的所有配置目录?
答:
通过在/ etc / httpd的/安装(RHEL / CentOS的/ Fedora的)和/ etc上(于Debian / Ubuntu)/ Apache2默认的Apache配置目录。
[root@youcl ~]# cd /etc/httpd/ [root@youcl 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@youcl ~]# cd /etc/apache2 [root@youcl 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-enabled7. Apache可以用TCP包装保护吗?
答:
不,它不能与TCP包装安全,因为它不支持Linux的libwrap.a库。
8.如何更改默认Apache端口和Listen指令在Apache中如何工作?
答:
有一个在httpd.conf文件指令“听”,它允许我们改变默认的Apache端口。
在Listen指令的帮助下,我们可以使Apache监听不同的端口以及不同的接口。
假设你有一个分配给你的Linux机器多个IP地址,并希望Apache以一种特殊的以太网端口或接口上接收
HTTP请求,甚至可以用Listen指令来完成。 要修改Apache的默认端口,请打开你的Apache主配置文件
httpd.conf或
VI编辑
apache2.conf文件。
[root@youcl ~]# vi /etc/httpd/conf/httpd.conf [root@youcl ~]# vi /etc/apache2/apache2.conf搜索单词“ 听 ”,注释原线和写入线下自己的指令。
# Listen 80 Listen 8080 OR Listen 172.16.16.1:8080保存文件并重新启动Web服务器。
[root@youcl ~]# service httpd restart [root@youcl ~]# 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.youcl.com/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.conf或
apache2.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中的虚拟主机?
答 :
虚拟主机部分包含类似的网站名称,文档根目录,目录索引,服务器管理电子邮件,错误日志文件的位置等信息。
你可以自由添加您需要为您的域尽可能多的指令,但对于一个工作网站两个最小项是
:ServerName和
DocumentRoot的 。 我们通常在
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>
- ServerAdmin的 :其通常网站所有者,其中误差或通知可以被发送的电子邮件地址。
- 的DocumentRoot:位置,网络文件位于服务器(需要)。
- 服务器名 :它的域名,你想从你的网页浏览器(必需)来访问。
- 错误日志 :它在所有的领域相关的日志被记录在日志文件的位置。
17. <Location>和<Directory>之间有什么区别?
答案:
- <位置>是用来设置相关的Web服务器的URL /地址栏元素。
- <目录>是指该文件系统对象的服务器上的位置
18.什么是Apache虚拟主机?
答:Apache
的虚拟主机是一个网络服务器上托管多个网站的概念。
有两种类型的虚拟主机可以设置与Apache是基于名称的虚拟主机和基于IP的虚拟主机 。
欲了解更多信息,请阅读
如何在Apache中创建名称/ IP的虚拟主机 。
19.你在MPM中对Apache有什么了解?
答:MPM
的全称是Multi处理模块,实际上Apache的如下一些机制来接受并完成Web服务器的请求。
20. Worker和Prefork MPM有什么区别?
答:
两者的MPM,工人和prefork的人都有自己的机制和Apache一起工作。
它完全取决于你,在哪种模式你想启动你的Apache。
- 工人和MPM之间的基本区别在于它们的产卵子进程的过程。在Prefork MPM中,启动主httpd进程,并且此主进程开始管理所有其他子进程以提供客户端请求。而在工作者MPM中,一个httpd进程是活动的,并且它使用不同的线程来服务客户端请求。
- prefork的MPM使用多个子进程每一个线程,其中工人MPM使用多个子进程,每个许多线程。
- 在prefork的MPM 连接处理中,每个进程处理一次一个连接,而在工MPM每个线程处理一次一个连接。
- 内存占用 prefork的MPM更大内存空间,其中工人有更小的内存占用。
21.“LimitRequestBody”的用法是什么?如何限制您的上传?
答:LimitRequestBody
指令是用来放一个上限上传大小。
例如:我想提出的
100000字节的局限在文件夹中
的/ var / www / html等/ tecmin /上传。所以,你需要在Apache配置文件中添加以下指令。
<Directory "/var/www/html/youcl/uploads"> LimitRequestBody 100000 </Directory>
什么是mod_perl和mod _php?
答案:
- mod_perl的是编译与Apache易于集成,提高Perl脚本性能的一个Apache模块。
- 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遵循以下三个步骤:- Apache生成其私有密钥并将其转换为私有密钥.csr文件文件(证书签名请求)。
- 然后将Apache的文件.csr文件发送到CA(认证机构)。
- CA将采取.csr文件文件,并将其转换为.CRT(证书),并发送.crt文件回Apache来保护和完成HTTPS连接请求。