关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » UI前端 »25个Apache面试题汇总

    25个Apache面试题汇总

    2014-08-05 00:00:00 出处:ITJS
    分享

    假如你正要去面试Linux相关工作的话,本文Apache相关的面试题汇总也许可以帮到你,应该说,这25个Apache面试题已经涉及非常广泛,看懂这些Apache面试题,应该会给你的Linux面试带来一定帮助,即使没有,也作为学习参考吧。

    Apache 求职面试提问

    在这一节涵盖了25个有趣的Apache工作面试中会提出的问题,并附带有它们的答案,因此你可以方便的理解也许你之前从来没有见到过的一些有关于Apache的新事物.

    在你开始阅读该文之前,我们强烈建议你不要去死记硬背,万事首先都要尝试去放在实际场景中理解.

    1. 什么是Apache web服务器

      答案 : Apache web 服务器 HTTP 是一个非常流行、功能强大并且开源,用于管理web站点并向网络提供web文件服务. 它基于 HTTP 超文本传输协议运行, 这一协议提供了服务器和客户端web浏览器通信的标准. 它支持 SSL, CGI 文件, 虚拟主机还有许多其它的功能特性.

    2. 假如检查 Apache 及其版本

      答案 : 首先,使用rpm命令来检查Apache是否已经安装. 假如已经安装好了,那就使用httpd -v 命令来姜茶它的版本.

    [root@tecmint ~]# 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@tecmint ~]# 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 默认在80端口侦听http,在443端口侦听https(需要SSL整数). 你也可以使用 netstat 命令 来检查端口.

    [root@tecmint ~]# netstat -antp | grep http
    
    tcp        0      0 :::80                       :::*                        LISTEN      1076/httpd          
    tcp        0      0 :::443                      :::*                        LISTEN      1076/httpd

    5. 如何在你的Linux机器上安装Apache服务器

      答案 : 很简单, 你可以使用任何诸如(RHEL/CentOS/Fedora)上的yum以及(Debian/Ubuntu)上的apt-get来在你的Linux上安装Apache服务器.

    [root@tecmint ~]# yum install httpd
    [root@tecmint ~]# apt-get install apache2

    6. 你可以在哪里找到Apache Web服务器的所有配置路径

      答案: Apache默认的配置路径放在: (RHEL/CentOS/Fedora) 中是在 /etc/httpd/ on 而(Debian/Ubuntu) 是在/etc/apache2下 .

    [root@tecmint ~]# cd /etc/httpd/
    [root@tecmint 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@tecmint ~]# cd /etc/apache2
    [root@tecmint 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中改变默认的端口,以及如何侦听其中的指令工作

      答案 : 在httpd.conf文件中有一个指令“Listen”可以让我们改变默认的Apache端口. 在Listen 指令的帮助下我们可以在不同的端口还有不同的接口进行Apache侦听.

    假设你拥有多个IP注册到了你的Linux机器,并且想要Apache在一个特殊的以太网端口或接口接收HTTP请求, 即使是这种要求也可以用Listen指令做到.

    为了改变Apache的默认端口,请使用打开你的Apache主配置文件 httpd.conf 或者 apache2.conf .

    [root@tecmint ~]# vi /etc/httpd/conf/httpd.conf
    
    [root@tecmint ~]# vi /etc/apache2/apache2.conf

    查找”Listen”这个单词, 注释原来的那一行并且在那一行下面写上你自己的指令.

    # Listen 80
    Listen 8080
    
    OR
    
    Listen 172.16.16.1:8080

    保存文件并重启web服务器.

    [root@tecmint ~]# service httpd restart
    
    [root@tecmint ~]# service apache2 restart

    9. 我们可以一台机器上放两个Apache Web服务器么

      答案 : 可以,我们在一台Linux机器上同时运行两个不同的Apache服务器, 但条件是它们应该在不同的端口上侦听,而我们可以使用Apache的Listen指令来改变端口.

    10. 你知道Apache的DocumentRoot是啥意思么

      答案 : DocumentRoot 的 Apache 意思是服务器上web文件的存储位置, 默认的DocumentRoot是 /var/www/html 或者 /var/www. 这是可以被修改的,只要修改主机中的虚拟主机配置 “DocumentRoot”就行了.

    11. 如何在不同的文件夹下面管理文件,还有什么是 Alias 指令

      答案 : 是的,这可以借助于主Apache配置文件中的Alias指令做到. Alias 指令可以对文件系统中的资源按图索骥, 它使用一个URL 路径,并且使用重定向到系统上的一个文件或目录来替换它.

    使用Alias指令,它是Apache的 mod_alias 模块的一部分. Alias指令的默认语法是:

    Alias /images /var/data/images/

    上面的示例中, 放在/var/data/images 前缀前面的 /images url的意思是客户端请求“http://www.example.com/images/sample-image.png” 会让Apache从服务器上的/var/data/images/sample-image.png 取 “sample-image.png” 文件. 它也被称为URL 映射.

    12. 对于“DirectoryIndex”你是怎么理解的

      答案 : DirectoryIndex 是当有一个来自主机的请求时Apache首先会去查找的文件. 例如: 客户端发送请求www.example.com, Apache 对此将到站点的文件根目录查找index文件 (首先要展示的文件).

    DirectoryIndex 的默认设置是 .html index.html index.php, 假如不是这个名字, 你需要对 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

    13. 当index文件丢失时如何使目录列表失效

      答案 : 假如站点根目录中的主index文件失效, 那么Apache将会在浏览器上列出所有内容类似的文件,以替换站点主页.

    为了关闭Apache目录列表, 你可以在主配置文件中全局的设置,或者在.htaccess文件中部分的设置如下规则.

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

    14. Apache Web 服务器有些什么不同的日志文件

      答案 : Apache Web 服务器的默认日志文件是访问日志 “/var/log/httpd/access_log” 和错误日志:/var/log/httpd/error_log”.

    15. 你是怎样理解错误日志中的“connection reset by peer”的

      答案 : 当服务器正在向请求提供服务时终端用户中断连接, 我们就会在错误日志中看到“connection reset by peer“.

    16. 什么是Apache的虚拟主机

      答案 : 虚拟主机部分包含的信息包括站点名称,文档根路径,目录索引,服务器管理员邮箱,错误日志文件路径等等。

    你可以随意为你的域添加你需要的指令,但是要运行一个站点,至少要配置量个参数服务器名称和文档根目录。 在Linux机器上,通常我们在httpd.conf文件的末尾来设定我们的虚拟主机部分的相关配置。

    虚拟主机示例

    <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 : web文件在服务器上存放位置(必须配置). ServerName : 通过浏览器访问站点时的域名(必须配置). ErrorLog : 日志文件的位置,里面记录了所有与该站点相关的日志。

    17. <Location>和<Directory>之间有什么区别

      答案 :

    <Location> 是用来设定和URL/ web服务器的地址栏相关的元素的。 <Directory> 是指服务器上某对象在文件系统中的位置

    18. 什么是Apache虚拟托管

      答案 : Apache虚拟托管是指,在单个web服务器上托管多个web站点。Apache 可以设定两种类型的虚拟主机:基于名称的虚拟托管和基于IP的虚拟主机托管。

    更多相关信息,请参阅 如何在Apache中创建基于Name/IP的虚拟主机。

    19. 你怎么理解Apache的MPM

      答案 : MPM意思是Multi Processing Modules,实际上是指Apache遵循的一些机制,用来接受和完成对web服务器的请求。

    20. Worker 和 Prefork MPM之间的区别是什么

      答案 : 它们都是MPM, Worker 和 prefork 有它们各自在Apache上的运行机制. 它们完全依赖于你想要以哪一种模式启动你的Apache.

    Worker 和 MPM基本的区别在于它们产生子进程的处理过程. 在Prefork MPM中, 一个主httpd进行被启动,这个主进程会管理所有其它子进程为客户端请求提供服务. 而在worker MPM中一个httpd进程被激活,则会使用不同的线程来为客户端请求提供服务. Prefork MPM 使用多个子进程,每一个进程带有一个线程而 worker MPM 使用多个子进程,每一个进程带有多个线程. Prefork MPM中的连接处理, 每一个进程一次处理一个连接而在Worker mpm中每一个线程一次处理一个连接. 内存占用 Prefork MPM 占用庞大的内存, 而Worker占用更小的内存.

    21. “LimitRequestBody”的应用是什么,还有如何在你的上传中加入限制

      答案 : LimitRequestBody 指令被用来在上传大小上做一个限制.

    例如: 我想要在 /var/www/html/tecmin/uploads目录中加入 100000 字节的限制. 那么你就需要在Apache配置文件中加入下面的指令.

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

    22. mod_perl 和 mod _php 是什么

      答案:

    mod_perl 是一个随同Apache一起编译的Apache模块,用来做Perl脚本的简单集成并提升其性能. mod_php 用来做web服务器PHP脚本的简单集成, 它在Apache进程中嵌入了PHP解释器. 它强制Apache子进程使用更多的内存,并且只能在Apache上使用,但是仍然很流行.

    23. Mod_evasive是什么

      答案: 它是一个保护你的web服务器不受像DDOS之类的web攻击的第三方模块,因为它一次只执行一个任务,所有执行得很不错.

    更多信心,请阅读该文, 它会指导你 如何在Apache中安装并配置mod_evasive.

    24. httpd.conf文件中的Loglevel调试是什么

      答案 : 在Loglevel Debug 选项的帮助下, 我们可以在错误日志中获取或者记录更多的信息,以帮助我们调试问题.

    25. mod_ssl 有什么用以及SSL在Apache中如何工作?

      回答: Mod_ssl 是一个Apache模块, 它使Apache可以在一个安全的加密环境中建立连接和传输数据。 使用SSL证书,所有的登录信息和其他重要的保密信息都会以加密的方式在Internet上进行传输,这会防止我们的数据被窃取或IP欺骗。

    怎样在Apache中使用SSL

    每当https请求到达,Apache都会执行以下三步:

    Apache生成它的私钥并且将私钥转换为.CSR 文件 (证书签发请求). 然后Apache发送 .csr 文件给 CA (证书管理中心). CA 收到.csr 文件 并转换为 .crt (证书) 然后再发回给Apache 来完成https连接请求.

    这就是目前被面试官问到的最流行的25的问题, 请在下面评论部分分享你最近面试被问到的面试问题来帮助其他其他面试者。

    来自:oschina

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。