HOWTO · Linux

如何在 Linux 中启动、停止和重新启动 Apache 网络服务器

我们可以在 Linux 中分别使用启动、停止和重启命令来启动、停止和重启 Apache 网络服务器。

本页内容

不同 Linux 发行版使用的 Apache 服务名称有所不同:Ubuntu 和 Debian 使用 apache2,Red Hat 系发行版使用 httpd。请使用适用于你所用发行版的命令,并通过具有 sudo 权限的账户执行;无需以 root 身份登录。下方示例仅在系统支持 systemctl 时使用该命令;对于支持相应接口的系统,也列出了 service 命令。这些针对特定主机的命令在此处未经执行。

在基于 Ubuntu 和 Debian 的发行版上启动、停止和重启 Apache

在 Ubuntu 和 Debian 上,Apache 服务名为 apache2。如果系统提供 systemctl,请使用以下命令:

  • 启动 Apache:sudo systemctl start apache2
  • 停止 Apache:sudo systemctl stop apache2
  • 重启 Apache:sudo systemctl restart apache2

重启会先停止服务,再将其启动。通常在配置更改需要重启后使用;请参阅应用程序或模块的说明,因为某些更改可能需要采取其他操作。如果系统支持 service 接口,也可以运行 sudo service apache2 start、sudo service apache2 stop 或 sudo service apache2 restart。

如果系统支持 systemctl,可以运行 sudo systemctl status apache2 检查服务是否正在运行。如果服务无法启动,请查看状态输出和该服务的系统日志,然后检查 Apache 配置,以及输出中指出的文件冲突或端口冲突。/var/log/apache2/error.log 是 Debian 系发行版中常见的错误日志位置,但日志配置可能会改变路径。若要让 Apache 在使用 systemctl 的系统上随系统启动,请运行 sudo systemctl enable apache2;启用开机启动与立即启动服务是两项独立操作。

在基于 Red Hat 的发行版上启动、停止和重启 Apache

在基于 Red Hat 的发行版上,Apache 服务名为 httpd。如果系统支持 systemctl,请使用以下命令:

  • 启动 Apache:sudo systemctl start httpd
  • 停止 Apache:sudo systemctl stop httpd
  • 重启 Apache:sudo systemctl restart httpd

重启会再次停止并启动服务。配置更改需要重启 Apache 时,可以使用此操作。如果系统支持 service 接口,相应命令为 sudo service httpd start、sudo service httpd stop 和 sudo service httpd restart。请选择系统实际提供的命令;仅凭发行版名称或版本号,无法确定系统使用哪种服务管理器。

如果系统支持 systemctl,可以运行 sudo systemctl status httpd 检查服务状态。如果服务无法启动,请查看状态详情和该服务的系统日志,然后检查 Apache 配置及消息中指出的原因。/var/log/httpd/error_log 是 Red Hat 系系统中常见的错误日志路径,但实际配置的路径可能不同。可以使用 httpd -v 检查是否安装了 Apache;在 Ubuntu 或 Debian 上则使用 apache2 -v。如果找不到相应命令,请先安装适用于该发行版的 Apache 软件包,再尝试启动服务。若要让 Apache 在使用 systemctl 的系统上随系统启动,请运行 sudo systemctl enable httpd;此设置不会立即启动 Apache。