You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

停止Apache服务并安装Nginx后,访问IP仍显示Apache默认页?

问题排查与解决思路

这种情况我碰到过好几次,大概率是下面几个原因导致的,咱们一步步来排查:

  • 浏览器缓存搞的鬼
    浏览器会自动缓存静态页面(比如Apache的欢迎页),哪怕后端服务换了,它还是会直接读缓存。试试按 Ctrl+Shift+R 强制刷新页面,或者用隐私/无痕窗口打开你的IP地址,看看是不是就显示Nginx的页面了。

  • Apache还有残留进程没清理干净
    有时候执行service apache2 stop或者/etc/init.d/apache2 stop后,还是会有一些子进程偷偷留在后台占用80端口。你可以用下面的命令检查:

    ps aux | grep apache2
    

    如果输出里还有非grep本身的apache2进程,就用sudo kill -9 <进程ID>逐个杀掉,或者直接用批量命令:

    sudo pkill -9 apache2
    

    杀完之后再确认80端口的占用情况:

    sudo ss -tulpn | grep :80
    

    正常应该显示nginx在监听80端口。

  • Nginx是否真的正确监听80端口?
    虽然systemctl status nginx显示运行正常,但有可能你的Nginx配置里没设置监听80端口。检查默认站点配置文件(Debian/Ubuntu系统一般是/etc/nginx/sites-available/default),确保有类似这样的核心配置:

    server {
        listen 80 default_server;
        listen [::]:80 default_server;
    
        root /usr/share/nginx/html;
        index index.html index.htm;
    
        server_name _;
    
        location / {
            try_files $uri $uri/ =404;
        }
    }
    

    如果配置有问题,修改后重启Nginx:

    sudo systemctl restart nginx
    
  • 有没有其他缓存中间件在搞事情?
    如果你的服务器上装了Varnish这类缓存服务,它们可能缓存了之前的Apache页面。这种情况下需要重启对应的缓存服务,比如:

    sudo systemctl restart varnish
    

先从最容易排查的浏览器缓存开始试,一般大部分情况都是缓存的问题。如果还是不行,再依次检查进程、端口和配置。

内容的提问来源于stack exchange,提问作者Lainly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:08:03