Linux 命令速查
网络 man httpd

httpd

Apache HTTP Server 的启动与管理命令

返回

补充说明

httpd 是 Apache HTTP Server 在 RHEL/CentOS/Fedora 上的可执行文件名,也是 systemd 服务名;Debian/Ubuntu 上对应的是 apache2,配置文件布局也不同(/etc/httpd/ 对 /etc/apache2/)。它是使用最广泛的 Web 服务器之一,支持虚拟主机、反向代理、TLS、URL 重写等。

日常运维中,httpd 主要用于启动/停止服务、检查配置语法、查看已加载模块与虚拟主机映射。直接运行二进制做 -k restart 等操作在 systemd 系统上并不推荐,应优先使用 systemctl reload httpd,以便服务管理器掌握进程状态。

改配置后务必先 httpd -t 检查语法,再平滑重载。配置文件主入口为 /etc/httpd/conf/httpd.conf,站点配置通常放在 /etc/httpd/conf.d/。

语法

httpd [选项]

选项

  • -t:检查配置语法,返回 Syntax OK 表示通过
  • -f 文件:指定主配置文件
  • -d 目录:指定 ServerRoot
  • -D 参数:定义配置中使用的 -D 条件参数
  • -k start|stop|restart|graceful|graceful-stop:控制服务动作
  • -M:列出已加载模块
  • -S:显示虚拟主机映射摘要
  • -l:列出编译进核心的模块
  • -v:显示版本
  • -V:显示版本与编译参数
  • -X:单进程调试模式(仅排障)

实例

# 检查配置语法
sudo httpd -t

# 查看已加载模块
httpd -M

# 查看虚拟主机配置摘要
httpd -S

# 启动、重载、停止服务(systemd)
sudo systemctl start httpd
sudo systemctl reload httpd
sudo systemctl stop httpd

# 设置开机自启并查看状态
sudo systemctl enable --now httpd
systemctl status httpd

# 查看监听端口
sudo ss -lntp | grep httpd

# 修改配置后先检查再重载
sudo httpd -t && sudo systemctl reload httpd

Debian/Ubuntu 上的等价命令为 apache2ctl -t、apache2ctl -S,服务名为 apache2,启用站点用 a2ensite/a2dissite。RHEL 系的 SELinux 可能阻止 httpd 访问非标准目录,需要配合 semanage fcontext 与 restorecon 调整标签。

参考链接