如何检查Linux机器上是否安装了Web服务器?

use*_*350 16 linux webserver

早上好,乡亲们,

基本问题:-)

  1. 如何检查Linux机器上是否安装了Web服务器?我不知道是否安装了任何Web服务器.如果已安装,我想用它来构建一个Web服务.

  2. 如果安装了Web服务器,如何检查它的安装位置,路径,属性等.

感谢您的时间!

Emm*_*met 28

如果有一个活动的网络服务器,它很容易告诉,但如果网络服务器已安装但未激活,则更加困难,因为可能会安装十几个不同的Web服务器(但尚未启动).你可以说,如果有一个Web服务器主动为HTTP(80)用默认端口:

$ telnet hostname 80
Run Code Online (Sandbox Code Playgroud)

hostname感兴趣的机器的主机名或IP地址在哪里.如果您对感兴趣的计算机具有shell访问权限,那么您可以使用localhost,例如,如果有活动的Web服务器,您将看到如下内容:

$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)

如果您键入以下内容:

GET /foo
Run Code Online (Sandbox Code Playgroud)

您将收到一条错误消息,告知您安装了哪些Web服务器.例如:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /status was not found on this server.</p>
<hr>
<address>Apache/2.2.22 (Ubuntu) Server at 127.0.1.1 Port 80</address>
</body></html>
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)

这将告诉您Apache版本2.2.22已安装并运行在您运行shell的计算机上.

如果没有活动的网络服务器,另一方面,你会看到如下内容:

$ telnet localhost 80
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
Run Code Online (Sandbox Code Playgroud)

在这种情况下,事情变得更加特定于分发(您找到的内容以及依赖于安装的Linux发行版的位置).您可以通过检查公共服务名称或已安装的文件和目录来尝试查看是否安装了Web服务器,但未激活.你可以尝试:

$ service apache2 status
Run Code Online (Sandbox Code Playgroud)

要么

$ service httpd status
Run Code Online (Sandbox Code Playgroud)

你可能会得到:

Apache2 is NOT running.
Run Code Online (Sandbox Code Playgroud)

这至少告诉你Apache已经安装但没有运行,而:

apache2: unrecognized service
Run Code Online (Sandbox Code Playgroud)

...会告诉你,阿帕奇没有安装.但是,可能会安装另一个Web服务器.

您还可以检查是否存在/var/www/目录,或者默认情况下Web服务器通常存储文件的另一个目录,例如:

$ ls /var/www
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果不知道在感兴趣的机器上安装了什么发行版(例如Debian,Ubuntu,RedHat,CentOS,Fedora ......),很难给出一个好的答案.

  • 谢谢你们——提问者和回答者。在我面临的多个问题中,您的回答解决了第一个问题。 (2认同)

Tom*_*mmy 2

以Apache HTTP Server为例,有一个指令调用ServerSignature

检查 HTTP 响应标头 可能有类似的内容

Server: Apache/2.2.17 (Win32) PHP/5.2.17
Run Code Online (Sandbox Code Playgroud)

当然服务器可以关闭这个功能

您可以尝试使用 Firefox 插件“Web Developer”来获取这些 HTTP 标头

检查操作系统的最佳方法是找到服务器主机,获取用户帐户并登录:-)

对于您的第二个问题,请登录并搜索该操作系统的相应教程