|
浏览器地址栏敲下 localhost,安装回车。成功屏幕上蹦出那个熟悉的后显页面——"Apache2 Ubuntu Default Page",或者红帽系那套 "Testing 123..."。示安试页成了。装测折腾半天的安装配置文件没白改。 很多人到这一步就停了,成功觉得看见测试页等于万事大吉。后显其实这个页面本身就是示安试页个信号,它告诉你三件事:Apache 进程起来了,装测80 端口没被占,安装默认站点配置生效了。成功三缺一,后显你都看不到它。示安试页 那个页面到底从哪来的装测 Debian/Ubuntu 上,这个文件躺在 /var/www/html/index.html。RPM 系一般在 /var/www/html 或 /usr/share/httpd/noindex,取决于发行版和版本。Apache 的默认虚拟主机配置里写死了这个路径,所以你访问 IP 或域名时,它就把这个文件吐给你。 我见过有人改了半天 httpd.conf 没反应,最后发现真正起作用的是 /etc/apache2/sites-enabled/000-default.conf。Debian 系把配置拆得比较碎,apache2.conf 是主入口,但站点级别的设定在 sites-available 和 sites-enabled 里。RPM 系相对集中,/etc/httpd/conf/httpd.conf 一把梭。搞清楚你的发行版用哪套逻辑,比背命令有用。 看到测试页之后该干什么 先别急着往里扔代码。打开终端,跑一条 apachectl -S(Debian 系用 apache2ctl -S)。它会列出所有虚拟主机的匹配规则,告诉你哪个 ServerName 对应哪个配置文件。这个输出比翻文档快得多,尤其是你手上有一堆 vhost 的时候。 然后确认模块加载情况。apachectl -M 列出已启用的模块。rewrite、proxy、ssl 这些常用模块没加载的话,后面写多少规则都是白搭。Debian 系用 a2enmod 开模块,RPM 系直接在配置文件里取消注释。两种风格,别搞混。 还有个容易忽略的点:测试页存在本身就意味着默认配置没被覆盖。等你把自己的站点配好,第一件事应该是把这个默认页干掉或者替换掉。留着它,搜索引擎可能收录,用户访问到未配置的域名也会看到这个页面,体验很差。 测试页打不开的几种情况 最常见的是端口冲突。Nginx 先占了 80,Apache 起不来,但 systemctl status 可能显示 active,因为进程还在,只是没绑定成功。用 ss -tlnp | grep :80 看一眼谁在监听,比猜快。 防火墙也经常背锅。firewalld 默认不开 80,ufw 也是。本地 curl 能通、外部访问超时,九成是防火墙规则没放行。 SELinux 在 CentOS/RHEL 上还会拦一道。即使端口开了、配置对了,SELinux 上下文不对照样 403。临时用 setenforce 0 排查可以,生产环境还是老老实实改布尔值或上下文标签。 我自己习惯装完 Apache 后先不碰配置,直接看测试页能不能出来。能出来,说明基础环境没问题,后面出问题就是自己改出来的。出不来,先解决环境层面的东西,别在配置文件里瞎折腾。这个顺序能省很多时间。 测试页不是终点,它只是一张入场券。真正的工作从你删掉它的那一刻才开始。 |