在 Linux 中管理 Apache Web 服务器的有用命令

yanding 2023-07-24 438

在本教程中,我们将介绍一些最常用的 Apache (HTTPD) 服务管理命令,您作为开发人员或系统管理员应该了解这些命令,并且您应该掌握这些命令。我们将展示 Systemd 和 SysVinit 的命令。

确保以下命令必须以 root 或 sudo 用户身份运行,并且必须在任何 Linux 发行版(例如 CentOS、RHEL、Fedora Debian 和 Ubuntu)上运行。

安装 Apache 服务器

要安装 Apache Web 服务器,请使用默认的分发角色管理器,如图所示。

$ sudo apt install apache2 [在 Debian/Ubuntu 上]$ sudo yum install httpd [在 RHEL/CentOS 上]$ sudo dnf install httpd [在 Fedora 22+ 上]$ sudo zypper install apache2 [在 openSUSE 上]

检查 Apache 版本

要检查 Linux 系统上安装的 Apache Web 服务器的版本,请运行以下命令。

$ sudo httpd -v或者$ sudo apache2 -v
服务器版本:Apache/2.4.6(CentOS)服务器建成:2018 年 11 月 5 日 01:47:09

要显示 Apache 版本列表和编译设置,请使用-V如图所示的标志。

$ sudo httpd -V或者$ sudo apache2 -V
服务器版本:Apache/2.4.6(CentOS)服务器建成:2018 年 11 月 5 日 01:47:09服务器模块魔数:20120211:24服务器加载:APR 1.4.8、APR-UTIL 1.5.2编译使用:APR 1.4.8、APR-UTIL 1.5.2架构:64位服务器 MPM:预分叉
  螺纹:无
    forked:是(可变进程数)服务器编译为....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6(启用 IPv4 映射地址)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
 -D DEFAULT_SCOREBOARD="日志/apache_runtime_status"
 -D DEFAULT_ERRORLOG =“日志/错误日志”
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

检查 Apache 配置语法错误

要检查 Apache 配置文件是否有任何语法错误,请运行以下命令,这将在重新启动服务之前检查配置文件的有效性。

$ sudo httpd -t或者$ sudo apache2ctl -t
AH00558:httpd:无法使用 linux-console.net 可靠地确定服务器的完全限定域名。全局设置“ServerName”指令以抑制此消息语法确定

启动阿帕奇服务

要启动 Apache 服务,请运行以下命令。

------------ 在 CentOS/RHEL 上 ------------ $ sudo systemctl start httpd [在 Systemd 上]$ sudo service httpd start [在 SysVInit 上]------------ 在 Ubunt/Debian 上 ------------$ sudo systemctl start apache2 [在 Systemd 上]$ sudo service apache2 start [在 SysVInit 上]

启用 Apache 服务

上面的命令此时仅启动Apache服务,要使其在系统启动时自动启动,请运行以下命令。

------------ 在 CentOS/RHEL 上 ------------ $ sudo systemctl 启用 httpd [在 Systemd 上]$ sudo chkconfig httpd on [在 SysVInit]------------ 在 Ubunt/Debian 上 ------------$ sudo systemctl 启用 apache2 [在 Systemd 上]$ sudo chkconfig apache2 on [在 SysVInit]

重新启动 Apache 服务

要重新启动 Apache(停止然后启动服务),请运行以下命令。

------------ 在 CentOS/RHEL 上 ------------ $ sudo systemctl restart httpd [在 Systemd 上]$ sudo service httpd restart [在 SysVInit 上]------------ 在 Ubunt/Debian 上 ------------$ sudo systemctl restart apache2 [在 Systemd 上]$ sudo service apache2 restart [在 SysVInit 上]

请参阅 Apache 服务环境

要查看Apache服务的运行时状态信息,请执行以下命令。

------------ 在 CentOS/RHEL 上 ------------ $ sudo systemctl status httpd [在 Systemd 上]$ sudo 服务 httpd 状态 [在 SysVInit 上]------------ 在 Ubunt/Debian 上 ------------$ sudo systemctl status apache2 [在 Systemd 上]$ sudo service apache2 status [在 SysVInit 上]

重新加载 Apache 服务

如果对 Apache 服务器配置进行任何更改,您可以通过运行以下命令来指示服务重新加载其配置。

------------ 在 CentOS/RHEL 上 ------------ $ sudo systemctl reload httpd [在 Systemd 上]$ sudo service httpd reload [在 SysVInit 上]------------ 在 Ubunt/Debian 上 ------------$ sudo systemctl reload apache2 [在 Systemd 上]$ sudo service apache2 reload [在 SysVInit 上]

停止阿帕奇服务

要停止 Apache 服务,请使用以下命令。

------------ 在 CentOS/RHEL 上 ------------ $ sudo systemctl stop httpd [在 Systemd 上]$ sudo service httpd stop [在 SysVInit 上]------------ 在 Ubunt/Debian 上 ------------$ sudo systemctl stop apache2 [在 Systemd 上]$ sudo service apache2 stop [在 SysVInit 上]

显示 Apache 命令行

最后,您可以通过运行以下命令来获取有关 systemd 下的 Apache 服务命令的帮助。

$ sudo httpd -h或者$ sudo apache2 -h		或者$ systemctl -h apache2	
用法:httpd [-D 名称] [-d 目录] [-f 文件]
             [-C“指令”] [-c“指令”]
             [-k 启动|重新启动|优雅|优雅停止|停止]
             [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]选项:
  -D name :定义在指令中使用的名称
  -d目录:指定备用初始ServerRoot
  -f file :指定备用 ServerConfigFile
  -C“directive”:读取配置文件之前处理指令
  -c "directive" : 读取配置文件后处理指令
  -e level :显示启动错误级别(参见LogLevel)
  -E file : 将启动错误记录到文件中
  -v:显示版本号
  -V:显示编译设置
  -h :列出可用的命令行选项(本页)
  -l :列出模块中编译的列表
  -L :列出可用的配置指令
  -t -D DUMP_VHOSTS :显示解析的虚拟主机设置
  -t -D DUMP_RUN_CFG :显示解析的运行设置
  -S :-t -D DUMP_VHOSTS -D DUMP_RUN_CFG 的同义词
  -t -D DUMP_MODULES :显示所有加载的模块
  -M :-t -D DUMP_MODULES 的同义词
  -t :对配置文件运行语法检查
  -T :启动时不检查 DocumentRoot
  -X :调试模式(只有一个worker,不分离)

您可以参考:如何在 Linux 中使用“Systemctl”管理“Systemd”服务和目录,找到有关 systemctl 的更多信息。

您还可以阅读以下 Apache 相关文章。


  1. 提高 Apache Web 服务性能的 5 个技巧

  2. 如何监控 Apache Web 服务器负载和页面统计信息

  3. 如何使用“Apache GUI”工具管理 Apache Web 服务

  4. 选择我
  5. 如何在 Linux 中更改 Apache HTTP 端口

  6. 13 Apache Web 服务安全性和稳健性建议

  7. 使用 Mod_Security 和 Mod_evasive 模块保护 Apache 免受暴力或 DDoS 攻击


目前为止就这样了!在本文中,我们将解释您应该了解的最常用的 Apache/HTTPD 服务管理命令,包括启动、运行、重新启动和停止 Apache。如有任何问题或意见,您可以随时通过下面的评论表联系我们。

言鼎科技

The End