Apache是最受欢迎的Web服务器,如果您打算以中间件/系统/ Web管理员的身份工作,则必须熟悉它。 Apache HTTP是Windows的开源Web服务器 & UNIX系统.
几天前,我写了有关WebSphere Interview Questions的文章,许多人都要求写有关Apache Web Server的文章,所以在这里.
在从初学者到专家级别的访谈中,通常会询问以下问题。大多数组织将由中间件/系统管理员以及应用程序服务器和其他组件来管理Web服务器。.
让我们开始吧 实时面试题 & 答案…
Contents
- 1 1.如何停止/启动Apache Web服务器?
- 2 2. HTTP和HTTPS的默认端口是什么?
- 3 3.能告诉我重要的配置文件名称吗?
- 4 4.如何检查正在运行的Apache Web Server的版本?
- 5 5.如何知道Web服务器是否正在运行?
- 6 6.如何安装Apache HTTP?
- 7 7.如何确保Apache仅侦听服务器上的一个IP地址?
- 8 8.如何确保Apache以非root用户/ nobody用户运行?
- 9 9.如何禁用目录索引?
- 10 10.哪个模块需要重定向?
- 11 11.您能否将监听端口从默认端口更改为其他端口?
- 12 12.如何保护Apache Web Server上托管的网站?
- 13 13. Apache生成的日志文件是什么?
- 14 14.如何创建企业社会责任?
- 15 15.什么是虚拟主机?
- 16 16.连接到WebSphere需要什么模块?
- 17 17.如何将日志级别置于调试模式?
- 18 18.启用SSL需要哪个模块?
- 19 19.什么是WebLogic模块名称?
- 20 20. Apache中可用的日志级别是什么??
- 21 21.什么是DocumentRoot?
- 22 22.如何在Apache中部署war或JAVA应用程序?
- 23 23. Apache Web服务器和Apache Tomcat有什么区别?
- 24 24. Apache如何充当代理服务器?
- 25 25.如何配置Apache日志,因此它捕获了处理请求所花费的时间?
- 26 26.您使用什么工具进行日志分析?
- 27 27.您与Apache一起使用过哪些Web服务器?
- 28 28.如何验证httpd.conf文件以确保没有配置语法错误?
- 29 29.如何执行Apache性能基准测试?
- 30 30.如果出现问题,如何获得对Apache Web Server的支持?
- 31 31.如何确保服务器重新启动后Web服务器正在启动?
- 32 32. Apache和Nginx Web服务器有什么区别?
- 33 33.如果平稳停止不起作用,您将如何杀死Apache?
- 34 34.如果您不知道安装位置,如何找到httpd.conf文件?
- 35 35.您知道Apache Web服务器有哪些不同的风格?
- 36 36. Apache在数据中心位置在哪里?
- 37 37.如何在HTTP响应头中隐藏服务器版本详细信息?
- 38 38. 200、403是什么意思 & 503 HTTP错误代码表示?
- 39 39.如何禁用跟踪HTTP请求?
- 40 40.如何解决端口冲突问题?
- 41 41.如何安装第三方模块?
- 42 42.如何为虚拟主机分配多个名称?
- 43 43.如何限制上传大小?
1.如何停止/启动Apache Web服务器?
您可以通过转到Apache实例位置来重新启动 >> bin文件夹并执行apachectl脚本.
./ apachectl停止
./ apachectl开始
您也可以使用/etc/init.d/中的脚本。通常将其命名为“ apache”或“ httpd”
/etc/init.d/apache停止
/etc/init.d/apache开始
另一个过程是使用服务
httpd停止
服务httpd启动
2. HTTP和HTTPS的默认端口是什么?
HTTP的默认端口是80和HTTPS443。签出此处列出的其他应用程序的默认端口.
3.能告诉我重要的配置文件名称吗?
httpd.conf是Apache中使用的主要配置文件.
4.如何检查正在运行的Apache Web Server的版本?
有多种方法可以找到此结果,但更准确地说是:
- 登录到Web服务器
- 转到apache实例和bin文件夹
- 用-v执行httpd以获取版本详细信息.
[[受电子邮件保护] sbin]#./httpd -v
服务器版本:Apache / 2.2.15(Unix)
服务器已建立:2016年7月18日15:24:00
[[受电子邮件保护] sbin]#
另外,您也可以使用 转数 命令检查安装的版本.
[[受电子邮件保护] 〜]#rpm -qa | grep httpd
httpd-2.2.15-54.el6.centos.x86_64
httpd-tools-2.2.15-54.el6.centos.x86_64
[[受电子邮件保护] 〜]#
5.如何知道Web服务器是否正在运行?
有多种方法可以找到这个.
- 登录到Web服务器并进行grep的“ httpd”处理
ps -ef | grep httpd
- 在监控仪表盘中检查任何警报.
- 检查您的apache IP:port是否可以在浏览器中访问
例如: http://yourapacheserver.com
- 使用netstat检查配置的IP和端口是否正在服务器上侦听
netstat -anlp | grep 80
6.如何安装Apache HTTP?
有三种可能的方法来安装此程序.
使用 源代码 –您可以下载源代码并进行编译.
- 从下载最新版本 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命令。.
YUM资料库 –如果您的服务器已连接到Internet或具有内部存储库,则可以使用yum进行安装.
百胜安装httpd
转速 –您可以下载必要的RPM软件包并使用rpm命令.
rpm -ivh软件包名称.rpm
7.如何确保Apache仅侦听服务器上的一个IP地址?
当服务器上有多个IP时,通常需要这样做。为了确保Apache仅侦听指定的IP,则需要在Listen指令中明确提及IP和端口.
例如:
听10.10.10.10:80
8.如何确保Apache以非root用户/ nobody用户运行?
这可以通过添加用户来实现 & httpd.conf文件中的组指令
用户apache
小组Apache
上面的配置示例将确保它以“ apache”用户开头。配置服务器之前,必须确保服务器上存在用户.
9.如何禁用目录索引?
您可以在相应的目录指令中使用“ Options -Indexes”.
例如:
选项-索引
10.哪个模块需要重定向?
mod_rewrite 负责重定向,并且必须在httpd.conf文件中取消注释.
LoadModule rewrite_module模块/mod_rewrite.so
11.您能否将监听端口从默认端口更改为其他端口?
是的,可以通过在 听 指示.
例如:使Apache在9000端口上侦听10.10.10.10 IP地址.
听10.10.10.10:9000
12.如何保护Apache Web Server上托管的网站?
有多种保护Apache Web服务器的方法,包括以下几种.
- 实施SSL
- 与ModSecurity等WAF(Web应用程序防火墙)集成.
- 使用基于云的安全提供程序
13. Apache生成的日志文件是什么?
创建了两个流行的日志文件。
- access.log –所有请求详细信息以及状态码
- error.log –捕获apache或连接到后端中的所有错误
14.如何创建企业社会责任?
您可以使用以下OpenSSL命令或 在线生成企业社会责任.
使用私钥创建新的CSR
openssl req -out geekflare.csr -newkey rsa:2048 -nodes -keyout geekflare.key
查看OpenSSL速查表以获取更多命令.
15.什么是虚拟主机?
Apache中的虚拟主机允许您在单个实例上托管多个网站。您可以创建 基于IP 要么 基于名称 在虚拟主机上.
16.连接到WebSphere需要什么模块?
必须在httpd.conf文件中添加mod_was_ap22_http.so才能与IBM WAS集成.
17.如何将日志级别置于调试模式?
当您对问题进行故障排除并希望捕获更多详细信息时,通常需要使用它。您可以通过确保httpd.conf文件中的以下内容来更改日志记录级别以进行调试.
LogLevel调试
18.启用SSL需要哪个模块?
实施SSL之前,必须取消对mod_ssl模块的注释.
LoadModule auth_basic_module模块/mod_ssl.so
19.什么是WebLogic模块名称?
mod_wl_22.so
20. Apache中可用的日志级别是什么??
默认配置设置为“警告”但是,以下也是可能的.
- 调试
- 信息
- 警告
- 注意
- 暴击
- 报警
- 能源
- 错误
21.什么是DocumentRoot?
DocumentRoot指令是一种配置,您可以在其中指定将从中提供静态文件的文件夹位置。也称为WebRoot.
默认DocumentRoot位置为/ 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或Tomcat for JSP-Servlet容器.
24. Apache如何充当代理服务器?
您可以使用mod_proxy模块用作代理服务器。 mod_proxy模块可用于连接到后端服务器,例如Tomcat,WebLogic,WebSphere等.
25.如何配置Apache日志,因此它捕获了处理请求所花费的时间?
你可以加 ”%D”中的LogFormat指令下的httpd.conf文件中的“”捕获服务请求所花费的响应时间。它将以毫秒为单位显示时间.
日志格式 "%h%l%u%t \"%r \" %>s%b \"%{Referer} i \" \"%{User-Agent} i \" %D" 合并的
重新启动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,例如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,例如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,例如Gecko)Chrome / 53.0.2785.116 Safari / 537.36" 472
26.您使用什么工具进行日志分析?
您必须说实话,但是要给您一个思路,您可以使用GoAccess,SumoLogic或此处提到的一些方法.
27.您与Apache一起使用过哪些Web服务器?
再说一次,您最好说实话,但要提醒您,市场上有很多Web服务器,包括以下内容.
- Nginx的
- Microsoft IIS
- LiteSpeed
- GWS
28.如何验证httpd.conf文件以确保没有配置语法错误?
httpd –t将帮助您检查语法.
[[受电子邮件保护] httpd]#/ usr / sbin / httpd -t
语法确定
[[受电子邮件保护] httpd]#
另外,您也可以使用apachectl命令.
[[受电子邮件保护] 〜]#/ usr / sbin / apachectl configtest
语法确定
[[受电子邮件保护] 〜]#
29.如何执行Apache性能基准测试?
您可以使用ApacheBench,SIEGE之类的工具在包括Apache在内的Web服务器上执行负载测试。在线执行压力测试的另一种选择,以查看Web应用程序在负载下的总体性能.
30.如果出现问题,如何获得对Apache Web Server的支持?
Apache是一个开源Web服务器,因此没有企业级支持。但是,您可以提出一个 错误报告 或在堆栈溢出问题上提问.
31.如何确保服务器重新启动后Web服务器正在启动?
如果运行Linux,则可以将脚本放在/etc/init.d/中,并使用chkconfig命令启用启动功能
假设您创建了一个名为 阿帕奇 并放在/etc/init.d下
chkconfig-添加Apache
chkconfig apache on
如果在Windows上,则确保启动类型选择为“自动”。
32. Apache和Nginx Web服务器有什么区别?
两者都归类为Web服务器,这是一些主要区别.
- Nginx是基于事件的Web服务器,其中Apache基于进程
- Nginx以比Apache更好的性能而闻名
- Apache支持Nginx不支持OpenVMS和IBMi的各种操作系统
- Apache已与Nginx仍在追赶的后端应用服务器进行了大量模块集成
- Nginx轻巧,可以迅速占领市场份额。如果您是Nginx的新手,那么您可能有兴趣查看我在Nginx上的文章.
33.如果平稳停止不起作用,您将如何杀死Apache?
如果在Linux上运行,则可以使用kill命令.
使用ps -ef | grep http找出Apache的PID
然后杀死它
杀死$ PIDNUMBER
如果正常杀死无效,请尝试杀死-9
杀死-9 $ PIDNUMBER
如果在Windows上,则从任务管理器结束Apache任务.
34.如果您不知道安装位置,如何找到httpd.conf文件?
在Linux中,您可以使用find命令.
假设您知道它必须在/ apps文件系统中,则可以使用以下命令.
查找/ apps -name httpd.conf
但是,如果您不确定哪个文件系统,则可以在/文件系统上查找,但请记住,根据文件系统的整体大小,可能要花很长时间.
查找/ -name httpd.conf
35.您知道Apache Web服务器有哪些不同的风格?
- IBM HTTP Server –被称为IHS,通常与IBM WebSphere Application Server一起使用
- Oracle HTTP Server-称为OHS,通常与Oracle Weblogic服务器一起使用
36. Apache在数据中心位置在哪里?
您可以根据自己的经验进行解释,但是,通常对于面向Internet的应用程序,它将在Internet DMZ网络中以及对于Intranet,核心网络中使用.
但这又会因应用程序/组织而异.
37.如何在HTTP响应头中隐藏服务器版本详细信息?
在httpd.conf文件中添加以下内容,然后重新启动Web服务器
ServerTokens产品
服务器签名关闭
这将隐藏版本并将服务器显示为“阿帕奇“ 只要.
38. 200、403是什么意思 & 503 HTTP错误代码表示?
- 200 –找到内容并投放
- 403 –尝试访问受限制的文件/文件夹
- 503 –服务器太忙而无法处理请求,换句话说–服务不可用.
- 有关更多信息,请参阅HTTP响应代码信息图.
39.如何禁用跟踪HTTP请求?
在httpd.conf文件中添加以下内容,然后重新启动实例
跟踪启用
40.如何解决端口冲突问题?
netstat对解决端口冲突问题很有用。如果在单个服务器上运行多个实例,则建议为监听指令配置绝对IP:Port.
41.如何安装第三方模块?
你可以利用 Apache工具箱. 下载后,使用tar实用程序将其解压缩.
tar -xf Apachetoolbox-1.5.72.tar.gz
使用cd命令导航到文件夹Apachetoolbox-1.5.72并运行以下命令以选择适用于您的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指令来限制上传文件的大小.
LimitRequestBody 9000
分配给LimitRequestBody的值允许Apache接受并存储用户上传的9000字节的文件。您可以根据要求调整值.
44.如何限制IP访问?
您可能希望某些上下文根可由允许的IP访问。为此,您可以利用 mod_authz_core 要么 mod_authz_host 使用Require指令限制访问的模块.
要求10.0.0.2 10.0.0.4 192.168.34.23 192.168.34.23
通过上述操作,仅当请求来自列出的IP时,Apache才会处理请求.
您需要在要允许或拒绝访问资源的目录中指定Require指令.
结论
希望以上问题和答案能帮助您为Web服务器管理员做准备 面试.