Apache 默认页面显示但未找到 Apache

Apache 默认页面显示但未找到 Apache

当我去时在我的树莓派中http://本地主机/我看到 Apache2 debian 默认页面,

所以我去了

/var/www/html/index.html

并更改了源代码,查看页面是否有任何更改,但没有。

那么,可能还有其他服务器正在运行并共享同一文件夹?

sudo netstat | grep apache  

什么也没显示,也不显示httpd

答案1

如果wget -O - http://localhost失败,则它必须来自浏览器缓存。

答案2

你犯了几个简单的错误。

首先,HTTP/HTTPS 服务的端口服务名称命名为 http 或 https,而不是 apache。

用于检查服务名称:

$ grep http /etc/services 
http        80/tcp      www     # WorldWideWeb HTTP
https       443/tcp             # http protocol over TLS/SSL
http-alt    8080/tcp    webcache    # WWW caching service
http-alt    8080/udp

其次,要查看监听服务,您必须提供-a选项netstat

所以,你应该运行:

netstat -a | grep http

或者:

$ netstat -a | grep LISTEN | grep http
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:https           0.0.0.0:*               LISTEN   

您还可以检查 Apache 是否正在运行,检查进程:

$ ps ax | grep apache
 2362 ?        Ss     0:00 /usr/sbin/apache2 -k start
 2366 ?        S      0:00 /usr/sbin/apache2 -k start
 2367 ?        S      0:00 /usr/sbin/apache2 -k start
 2368 ?        S      0:00 /usr/sbin/apache2 -k start
 2369 ?        S      0:00 /usr/sbin/apache2 -k start
 2370 ?        S      0:00 /usr/sbin/apache2 -k start
23476 pts/0    S+     0:00 grep apache

这样您就知道 Apache 正在运行。

至于页面更改:如果使用Debian或raspbian,默认确实是/var/www/html。最有可能的是浏览器中缓存了以前的版本。最多可以更改默认配置,但我想您会记得这样做。

至于缓存页面,您的浏览器可能并不完全有问题。如果您想指示某些页面不被缓存,则必须将标头信号数据返回给客户端软件(浏览器、代理)。

即这些标头:

Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0

您也可以表明您不希望在 HTML 中缓存特定页面:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

更多详情请参见:如何跨所有浏览器控制网页缓存?

PS 显然,对于具有动态内容的 HTML 页面,表明您不希望缓存页面更有用。然而,由于问题的性质,我们探讨了这种情况,试图解释您的浏览器可能会按照预期的方式运行。

推论:正如我的一位前加利西亚导师常说的那样,拥有工具的重要部分是在犯错之前了解它们的行为方式。

相关内容