当我去时在我的树莓派中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 页面,表明您不希望缓存页面更有用。然而,由于问题的性质,我们探讨了这种情况,试图解释您的浏览器可能会按照预期的方式运行。
推论:正如我的一位前加利西亚导师常说的那样,拥有工具的重要部分是在犯错之前了解它们的行为方式。