共计 6816 个字符,预计需要花费 18 分钟才能阅读完成。
本篇内容主要讲解“Apache Web Server 面试问答题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“Apache Web Server 面试问答题有哪些”吧!
1. 如何停止 / 启动 Apache Web 服务器?
您可以通过转到 Apache 实例位置 bin 文件夹重新启动并执行 apachectl 脚本。
./apachectl stop
./apachectl start 复制
您也可以使用 /etc/init.d/ 中的脚本。通常将其命名为“apache”或“httpd”
/etc/init.d/apache stop
/etc/init.d/apache start 复制
另一个过程是使用服务
httpd stop
service httpd start
2. HTTP 和 HTTPS 的默认端口是什么?
HTTP 的默认端口是 80 和 HTTPS443。点这里可以获取到详细列出了其他应用程序的默认端口。
3. 您能告诉我重要的配置文件名称吗?
httpd.conf 是 Apache 中使用的主要配置文件。
4. 如何检查正在运行的 Apache Web Server 的版本?
有多种找到此方法的方法,但更准确地说是:
(1) 登录到 Web 服务器
(2) 转到 apache 实例和 bin 文件夹
(3) 用 - v 执行 httpd 以获取版本详细信息
[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 服务器是否正在运行?
有多种找到方法。
(1) 登录到 Web 服务器并进行 grep 的“httpd”处理
ps -ef |grep httpd 复制
(2) 在监视仪表板上检查是否有任何警报 (3) 检查您的 apache IP:port 是否可以在浏览器中访问 (4) 使用 netstat 检查配置的 IP 和端口是否正在服务器上侦听
netstat -anlp |grep 80
6. 如何安装 Apache HTTP?
有三种可能的方法来安装此程序,点这里更多 JAVA 中间件内容详见
(1) 使用源代码 –您可以下载源代码并进行编译。
从 http://httpd.apache.org/download.cgi 下载最新版本 使用 tar 实用程序或 gzip 实用程序提取源,具体取决于文件类型:.tar 或.tar.gz
tar xvf httpd-1.2.3.tar
gzip -d httpd-1.2.4.tar.gz
通过 cd 命令导航到提取源的位置,并./configure 在终端上使用命令进行配置, 然后使用 make 命令进行编译。最后,使用 make install 命令进行安装。如果要查找有关如何配置它的更多选项,可以使用该 configure –help 命令。
(2)YUM 存储库
如果您的服务器已连接到 Internet 或具有内部存储库,则可以使用 yum 进行安装。参考教程
yum install httpd
(3)RPM
您可以下载必要的 RPM 软件包并使用 rpm 命令。
rpm -ivh packagename.rpm
7. 如何确保 Apache 仅侦听服务器上的一个 IP 地址?
当服务器上有多个 IP 时,通常需要这样做。为了确保 Apache 仅侦听指定的 IP,则需要在 Listen 指令中明确提及 IP 和端口。
例如:
Listen 10.10.10.10:80
8. 如何确保 Apache 以非 root 用户 / nobody 用户运行?
这可以通过在 httpd.conf 文件中添加 User&Group 指令来实现
User apache
Group apache
上面的配置示例将确保它以“apache”用户开头。在配置服务器之前,必须确保服务器上存在用户。
9. 如何禁用目录索引?
您可以在相应的目录指令中使用“Options -Indexes”。例如:
Directory /
Options -Indexes
/Directory
10. 哪个模块需要重定向?
mod_rewrite 负责重定向,并且必须在 httpd.conf 文件中取消注释。
LoadModule rewrite_module modules/mod_rewrite.so
11. 您可以将监听端口从默认端口更改为其他端口吗?
是的,可以通过在 Listen 指令中指定端口号来实现。例如:使 Apache 在 9000 端口上侦听 10.10.10.10 IP 地址。
Listen 10.10.10.10:9000
12. 如何保护 Apache Web Server 上托管的网站?
有多种保护 Apache Web 服务器安全的方法,包括以下几种。
(1) 实施 SSL
(2) 与 WAF(Web 应用程序防火墙)(如 ModSecurity 等)集成
(3) 使用基于云的安全提供程序
13. Apache 生成哪些日志文件?
创建了两个流行的日志文件。
access.log –所有请求详细信息以及状态码
error.log –捕获 apache 或连接到后端中的所有错误
14. 如何创建企业 CSR?
您可以使用以下 OpenSSL 命令或在线生成 CSR。
openssl req -out geekflare.csr -newkey rsa:2048 -nodes -keyout geekflare.key
15. 什么是虚拟主机?
Apache 中的虚拟主机允许您在单个实例上托管多个网站。您可以创建基于 IP 或基于虚拟主机的名称。
16. 连接到 WebSphere 需要什么模块?
mod_was_ap22_http.so 必须以 httpd.conf 文件形式添加才能与 IBM WAS 集成。
17. 如何将日志级别置于调试模式?
当您对问题进行故障排除并希望捕获更多详细信息时,通常需要使用它。您可以通过确保 httpd.conf 文件中的以下内容来更改日志记录级别以进行调试。
LogLevel debug
18. 启用 SSL 需要哪个模块?
在实施 SSL 之前,必须取消对 mod_ssl 模块的注释。
LoadModule auth_basic_module modules/mod_ssl.so
19. WebLogic 模块名称是什么?
mod_wl_22.so
20. Apache 中可用的日志级别是什么?
默认配置设置为“warn”,但是也可以进行以下操作。
调试 信息 警告 注意 暴击 报警 能源 错误
21. 什么是 DocumentRoot?
DocumentRoot 指令是一种配置,您可以在其中指定将从中提供静态文件的文件夹位置。也称为 WebRoot。
Default DocumentRoot location is /var/www/html
22. 如何在 Apache 中部署 war 或 JAVA 应用程序?
Apache 是 Web 服务器,并且它无法进行基于 Java 的应用程序部署。但是,您可以集成 Java 应用程序服务器,例如 WebLogic,WebSphere 和 JBoss,在其中可以部署 war,ear 文件。点这里见更多
23. Apache Web 服务器和 Apache Tomcat 有什么区别?
Apache Web 是用于提供静态内容的 HTTP 服务器,其中 Tomcat 是用于部署 JSP 文件的 servlet 容器。
您始终可以 ** 将 Apache HTTP 与 Tomcat 集成,但是,根据需要,您可以选择其中之一。如果您需要合适的 Web 服务器,则可以使用 Apache HTTP 或 JSP-Servlet 容器的 Tomcat。
24. Apache 如何充当代理服务器?
您可以使用 mod_proxy 模块用作代理服务器。mod_proxy 模块可用于连接到后端服务器,例如 Tomcat,WebLogic,WebSphere 等。
25. 如何配置 Apache 日志,以捕获服务请求所花费的时间?**
您可以在 LogFormat 指令下的 httpd.conf 文件中添加“%D”,以捕获响应请求所花费的响应时间。它将以毫秒为单位显示时间。
LogFormat %h %l %u %t \ %r\ % s %b \ %{Referer}i\ \ %{User-Agent}i\ %D combined
重新启动 Apache Web 服务器,您可以看到结果。
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. 您使用什么工具进行日志分析?
可以使用 GoAccess,SumoLogic 等诸多工具。
27. 您与 Apache 一起使用过哪些 Web 服务器?
市场上有很多 Web 服务器,选择自己熟悉等即可,比如 Nginx 等。
28. 如何验证 httpd.conf 文件以确保没有配置语法错误?
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. 如何执行 Apache 性能基准测试?
您可以使用 ApacheBench,SIEGE 之类的工具在包括 Apache 在内的 Web 服务器上执行负载测试。在线执行压力测试的另一种选择,以查看 Web 应用程序在负载下的总体性能。
30. 如果出现问题,如何获得对 Apache Web Server 的支持?
Apache 是一个开源 Web 服务器,因此没有企业级支持。但是,您可以提出错误报告或对堆栈溢出提出问题。
31. 如何确保服务器重启后 Web 服务器能够启动?
如果运行 Linux,则可以将脚本放在 /etc/init.d/ 中,并使用 chkconfig 命令启用启动
假设您创建了一个名为 apache 的文件,并将其放在 /etc/init.d 下
chkconfig --add apache
chkconfig apache on
如果在 Windows 上,则确保启动类型选择为“自动”。
32. Apache 和 Nginx Web 服务器有什么区别?
两者都归类为 Web 服务器,这是一些主要区别。
(1)Nginx 是基于事件的 Web 服务器,其中 Apache 基于进程
(2)Nginx 以比 Apache 更好的性能而闻名
(3)Apache 支持 Nginx 不支持 OpenVMS 和 IBMi 的各种操作系统
(4)Apache 已与 Nginx 仍在追赶的后端应用程序服务器进行了大量模块集成
(5)Nginx 轻巧,可以迅速占领市场份额
33. 如果无法正常运行,您将如何杀死 Apache?
如果在 Linux 上运行,则可以使用 kill 命令。使用 ps -ef | grep http 找出 Apache 的 PID, 然后杀死它。
kill $PIDNUMBER
如果正常杀死无效,请尝试杀死 -9
kill -9 $PIDNUMBER
如果在 Windows 上,则从任务管理器结束 Apache 任务。
34. 如果您不知道安装位置,如何找到 httpd.conf 文件?
在 Linux 中,您可以使用 find 命令。
假设您知道它必须在 / apps 文件系统中,那么可以使用以下命令。
find /apps -name httpd.conf
但是,如果不确定哪个文件系统,则可以在 / 文件系统上查找,但请记住,根据文件系统的整体大小,可能要花很长时间。
find / -name httpd.conf
35. 您知道 Apache Web 服务器有哪些不同的风格?
(1)IBM HTTP Server –被称为 IHS,通常与 IBM WebSphere Application Server 一起使用
(2)Oracle HTTP Server- 称为 OHS,通常与 Oracle Weblogic 服务器一起使用
36. Apache 在数据中心位置在哪里?
您可以根据自己的经验进行解释,但是,通常对于面向 Internet 的应用程序,它应该位于 Internet DMZ 网络中以及 Intranet,核心网络中。
但这又会因应用程序 / 组织而异。
37. 如何在 HTTP 响应标头中隐藏服务器版本详细信息?
在 httpd.conf 文件中添加以下内容,然后重新启动 Web 服务器
ServerTokens Prod
ServerSignature Off
这将隐藏版本并将服务器显示为“仅 Apache”。
38. 200、403 和 503 HTTP 错误代码是什么意思?
200 –找到内容并投放
403 –尝试访问受限制的文件 / 文件夹
503- 服务器太忙,无法处理请求,换句话说,服务不可用
39. 如何禁用跟踪 HTTP 请求?
在 httpd.conf 文件中添加以下内容,然后重新启动实例
TraceEnable off
40. 如何解决端口冲突问题?
netstat 对解决端口冲突问题很有用。如果在单个服务器上运行多个实例,则建议为监听指令配置绝对 IP:Port。
41. 如何安装第三方模块?
您可以使用 Apache Toolbox。下载后,使用 tar 实用程序将其解压缩。
tar -xf Apachetoolbox-1.5.72.tar.gz
Apachetoolbox-1.5.72 使用 cd 命令导航到该文件夹,然后运行以下命令为您的 Apache 服务器选择模块。
./install.sh
它提供了 mod_ip_forwarding,mod_auth_mysql 和 mod_auth_samba 与 Apache Web 服务器一起编译的模块。尽管您可以手动包括这些模块,但是使用 Apache Toolbox 更加容易。
42. 如何为虚拟主机分配多个名称?
您可以使用 ServerAlias 如下所示的指令。
ServerName example.com
ServerAlias awesome.com fantastic.com
43. 如何限制上传大小?
我有一个 Web 应用程序,允许用户上传文件,如 Word 文档,pdf 等。如何限制用户上传文件?
您可以使用 LimitRequestBody 指令限制上传文件的大小。
Directory usr/local/apache2/uploads
LimitRequestBody 9000
/Directory
分配给的值 LimitRequestBody 允许 Apache 接受并存储用户上传的 9000 字节的文件。您可以根据需要调整值。
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
通过上述操作,仅当请求来自列出的 IP 时,Apache 才会处理请求。
您需要 Require 在目录中指定要允许或拒绝访问资源的指令。
到此,相信大家对“Apache Web Server 面试问答题有哪些”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!