关键不是“装没装上”,而是“能不能响应请求”:先用systemctl status检查服务是否active (running),再curl或浏览器访问http://localhost/验证默认页,最后用ss -tlnp确认80端口是否监听。
安装完成后,验证 apache 是否正常运行,关键不是“装没装上”,而是“能不能响应请求”。重点分三步:服务状态、本地访问、端口监听。
检查服务运行状态
执行命令查看 httpd 或 apache2 服务是否处于活跃运行中:
- CentOS/RHEL 系统:sudo systemctl status httpd
- Ubuntu/Debian 系统:sudo systemctl status apache2
若输出中包含 active (running),说明服务已启动成功;若为 failed 或 inactive,需先用 sudo journalctl -u httpd -n 50(或 apache2)查看最近错误日志。
本地浏览器或命令行访问默认页
Apache 启动后,默认根目录下有 index.html(如 /var/www/html/ 或 /usr/share/httpd/noindex/),可直接测试响应能力:
- 在服务器本机打开浏览器,访问 http://localhost/ 或 http://127.0.0.1/,应看到“It works!”或欢迎页面
- 更可靠的方式是用 curl 命令验证:curl -I http://127.0.0.1/ 应返回 HTTP 200 OK 状态码;curl http://127.0.0.1/ 应输出 HTML 内容
若返回 403(禁止访问),检查 DocumentRoot 目录权限(需对 apache 用户可读);若返回 404,确认 index.html 是否存在且命名正确(如 index.htm、index.php 未被 DirectoryIndex 指定则不会自动匹配)。
确认 80 端口是否监听
Web 服务必须监听 80(HTTP)或 443(HTTPS)端口才能接收请求。执行以下命令验证:
- sudo ss -tlnp | grep ':80'(推荐,轻量高效)
- 或 sudo netstat -tlnp | grep ':80'(需安装 net-tools)
若看到类似 LISTEN 0 128 *:80 *:* users:(("httpd",pid=1234,fd=4)) 的输出,说明 Apache 已绑定端口;若无任何输出,可能是服务未启动、配置中 Listen 指令被注释或修改、或被其他进程占用了 80 端口。
补充:外网访问失败的常见原因
内网能通但外网打不开,通常与以下设置有关:
- 防火墙未放行:CentOS/RHEL 执行 sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --reload;Ubuntu 需检查 ufw 状态(sudo ufw status)
- 云服务器安全组:阿里云、腾讯云等平台需手动在控制台开放 80 端口入方向规则
- SELinux 限制:临时关闭测试:sudo setenforce 0;若生效,需调整策略而非永久禁用











