Linux 中检查 Apache 服务器状态和运行时间的 3 种方法


Apache 是一款流行的开源 Web 服务器,为互联网上很大一部分网站提供服务。在 Linux 中,可以轻松安装和配置 Apache 来提供网页和其他内容。但是,监控 Apache 服务器的状态和运行时间非常重要,以确保其平稳高效地运行。在本文中,我们将探讨三种在 Linux 中检查 Apache 服务器状态和运行时间的不同方法。

使用 systemctl 命令检查 Apache 服务器状态

Systemctl 是一个功能强大的命令行工具,用于管理 Linux 中的 systemd 系统和服务管理器。它也可以用于检查 Apache Web 服务器的状态。请按照以下步骤使用 systemctl 命令检查 Apache 服务器状态。

  • 步骤 1 - 在您的 Linux 系统上打开一个终端窗口。

  • 步骤 2 - 键入以下命令以检查 Apache 服务的状态。

sudo systemctl status apache2
  • 步骤 3 - 如果 Apache 服务器正在运行,您应该会看到类似于以下的输出。

apache2.service - Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2023-03-13 10:25:21 EDT; 2 days ago
   Main PID: 1234 (apache2)
      Tasks: 55 (limit: 9378)
		Memory: 164.9M
		CPU: 1min 10.986s
		CGroup: /system.slice/apache2.service
			├─1234 /usr/sbin/apache2 -k start
			├─1235 /usr/sbin/apache2 -k start
			└─1236 /usr/sbin/apache2 -k start
  • 步骤 4 - 如果 Apache 服务器未运行,您应该会看到类似于以下的输出。

apache2.service - Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
	Active: inactive (dead) since Mon 2023-03-13 10:25:21 EDT; 2 days ago
	Process: 1234 ExecStart=/usr/sbin/apache2 -k start (code=exited, status=0/SUCCESS)
	Main PID: 1234 (code=exited, status=0/SUCCESS)

在上面的输出中,请注意 Active 状态指示 Apache 服务器是否正在运行。如果它正在运行,您还将看到 Apache 进程的启动时间、内存使用情况和 CPU 使用情况。

使用 apachectl 命令检查 Apache 服务器状态

检查 Apache 服务器状态的另一种方法是使用 apachectl 命令。这是一个随 Apache Web 服务器软件包提供的命令行工具。请按照以下步骤使用 apachectl 命令检查 Apache 服务器的状态。

  • 步骤 1 - 在您的 Linux 系统上打开一个终端窗口。

  • 步骤 2 - 键入以下命令以检查 Apache 服务的状态。

sudo apachectl status
  • 步骤 3 - 如果 Apache 服务器正在运行,您应该会看到类似于以下的输出。

Apache Server Status for localhost (via 127.0.0.1)

   Server Version: Apache/2.4.46 (Ubuntu)
	Server MPM: event
	Server Built: 2021-08-17T18:02:37
	Server loaded APR Version: 1.7.0
	Compiled with APR Version: 1.7.0
	Server loaded APU Version: 1.6.1
	Compiled with APU Version: 1.
  • 步骤 4 - 如果 Apache 服务器未运行,您应该会看到类似于以下的输出。

apache2.service - Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
	Active: inactive (dead) since Mon 2023-03-13 10:25:21 EDT; 2 days ago
	Process: 1234 ExecStart=/usr/sbin/apache2 -k start (code=exited, status=0/SUCCESS)
	Main PID: 1234 (code=exited, status=0/SUCCESS)

在上面的输出中,请注意显示了 Apache 服务器的服务器版本、服务器 MPM 和其他信息。如果 Apache 服务器未运行,您将收到一条错误消息,指示服务器未运行。

使用 mod_status 模块检查 Apache 服务器运行时间

Apache Web 服务器带有一个名为 mod_status 的内置模块,可用于实时显示 Apache 服务器的状态。mod_status 模块显示诸如运行时间、总访问次数、CPU 使用率以及有关 Apache 服务器的其他重要详细信息。请按照以下步骤启用和使用 mod_status 模块。

  • 步骤 1 - 在您的 Linux 系统上打开一个终端窗口。

  • 步骤 2 - 键入以下命令以启用 mod_status 模块。

sudo a2enmod status
  • 步骤 3 - 使用您喜欢的文本编辑器编辑 Apache 配置文件。

sudo nano /etc/apache2/mods-enabled/status.conf
  • 步骤 4 - 将以下几行添加到 status.conf 文件中,以启用从本地主机访问服务器状态页面。

<Location /server-status>
   SetHandler server-status
   Require local
</Location>
  • 步骤 5 - 保存并关闭文件。

  • 步骤 6 - 重启 Apache 服务器。

sudo systemctl restart apache2
  • 步骤 7 - 使用 Web 浏览器访问服务器状态页面。

https://127.0.0.1/server-status
  • 步骤 8 - 如果一切配置正确,您应该会看到服务器状态页面,其中包含有关 Apache 服务器运行时间、总访问次数、CPU 使用率和其他重要详细信息的信息。

Apache Server Status for localhost

Server Version: Apache/2.4.46 (Ubuntu)
Server MPM: event
Server Built: 2021-08-17T18:02:37
Server loaded APR Version: 1.7.0
Compiled with APR Version: 1.7.0
Server loaded APU Version: 1.6.1
Compiled with APU Version: 1.6.1
Hostname: localhost
Uptime: 2 days 1 hour 2 minutes 17 seconds
Restart Time: Monday, 13-Mar-2023 10:25:21 EDT
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime:
	2 days 1 hour 2 minutes 17 seconds
Total accesses: 3462 - Total Traffic: 54.6 MB
CPU Usage:
	u16.55 s14.10 cu0 cs0 - .00716% CPU load
4 requests/sec - 69.9 kB/second - 17.5 kB/request
1 requests currently being processed, 7 idle workers

在上面的输出中,请注意 Uptime 和 Server uptime 显示服务器自上次启动或重启以来的时间。此信息对于监控 Apache 服务器的可用性和可靠性非常重要。

其他提示

  • 您还可以使用 Apache 命令行实用程序 apachectl 来检查服务器的状态。例如,您可以使用以下命令来检查 Apache 服务器的状态。

sudo apachectl status
  • 如果您的服务器上有多个 Apache 虚拟主机,则可以在 Apache 配置文件中使用 ServerName 指令来指定每个虚拟主机的名称。这将帮助您在 Apache 日志和 mod_status 页面中区分不同的虚拟主机。

  • 您还可以使用 Nagios、Zabbix 或 Cacti 等监控工具来监控 Apache Web 服务器的运行状况和性能。这些工具可以提供有关服务器状态、运行时间、CPU 使用率和其他重要指标的更详细信息。

  • 始终使您的 Apache 服务器保持最新状态,并应用最新的安全补丁和更新,以确保其免受已知漏洞和攻击的侵害。您可以使用以下命令在基于 Ubuntu 或 Debian 的系统上更新 Apache 服务器。

sudo apt-get update
sudo apt-get upgrade
  • 您还可以使用 Nginx 或 HAProxy 等反向代理来提高 Apache Web 服务器的性能和可扩展性。反向代理可以缓存静态内容、负载均衡传入请求并为 HTTPS 流量提供 SSL 终止。

  • 最后,定期备份 Apache Web 服务器配置文件、日志和数据非常重要,以确保您可以快速从任何灾难或数据丢失中恢复。您可以使用 rsync、scp 或 tar 等工具创建 Apache 服务器文件的备份。

结论

在本文中,我们探讨了三种在 Linux 中检查 Apache 服务器状态和运行时间的不同方法。我们介绍了如何使用 systemctl 检查 Apache 服务器的状态,如何使用 Apache 日志确定服务器的运行时间,以及如何使用 mod_status 模块获取有关服务器状态的实时信息。通过遵循这些步骤,您可以监控 Apache Web 服务器的运行状况和性能,以确保其平稳运行。

更新于:2023-03-28

13K+ 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告