Ubuntu 22.04.3 LTS下卸载Apache切换Nginx后仍显示Apache默认页面的问题求助
Ubuntu 22.04.3 LTS下卸载Apache切换Nginx后仍显示Apache默认页面的问题求助
你好,我之前碰到过不少类似的情况,别着急,咱们一步步排查可能的原因,应该很快能解决:
1. 先排除缓存问题(最常见的原因)
- 首先用无痕/隐私模式打开你的网站,看看是不是还显示Apache页面。如果无痕模式正常显示Nginx的欢迎页,那就是本地浏览器缓存的锅,清一下浏览器缓存就好了。
- 如果是域名访问,还要刷新本地DNS缓存:Windows终端运行
ipconfig /flushdns,Linux终端运行sudo systemd-resolve --flush-caches。 - 要是你的网站用了CDN服务,记得去CDN控制台刷新缓存,CDN经常会缓存旧页面,导致服务器配置更新后前端看不到变化。
2. 直接验证服务器返回的内容(排除前端缓存干扰)
登录你的VPS,在终端里用curl命令直接访问本地,看看服务器实际返回的是什么:
curl localhost # 或者用服务器公网IP验证 curl 你的服务器公网IP
如果返回的是Nginx欢迎页的代码(就是你贴的index.nginx-debian.html内容),那说明服务器配置没问题,就是前端缓存的问题;如果返回的还是Apache页面,咱们继续往下查。
3. 检查Nginx的站点配置是否正确
你提到/etc/nginx/sites-available里有default文件,咱们先确认这个默认配置的关键参数:
cat /etc/nginx/sites-available/default
重点看这几行:
root /var/www/html;:确认路径是否指向你存放Nginx页面的目录(你这里是正确的)。index行:比如index index.html index.htm index.nginx-debian.html;,要确保index.nginx-debian.html在列表中,或者你想要显示的页面排在优先级更高的位置。- 还要确认站点已启用:检查
/etc/nginx/sites-enabled目录里有没有default的软链接,没有的话运行sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/,然后重启Nginx:sudo systemctl restart nginx
4. 确认Nginx确实占用了80/443端口
虽然你说Nginx在运行,但还是确认一下端口占用情况,避免有其他进程偷偷抢占端口:
sudo netstat -tulpn | grep :80 sudo netstat -tulpn | grep :443
如果结果里显示的是nginx进程,那端口没问题;如果是其他进程,停止该进程后重启Nginx即可。
5. 最后确认是否有Apache残留进程
你已经清理了Apache的残留包,但可以再检查一遍有没有漏网的进程:
ps aux | grep apache
如果找到相关进程,用sudo kill -9 进程ID杀掉,再重启Nginx。
6. 配置你自己的网站目录(可选)
如果你想让网站显示/var/www/myOwnBlog.com里的内容,可以按以下步骤修改Nginx配置:
- 复制默认配置文件:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/myOwnBlog.com - 编辑新配置:
sudo nano /etc/nginx/sites-available/myOwnBlog.com - 修改
root为/var/www/myOwnBlog.com;,同时设置server_name为你的域名(比如server_name myOwnBlog.com www.myOwnBlog.com;) - 启用站点:
sudo ln -s /etc/nginx/sites-available/myOwnBlog.com /etc/nginx/sites-enabled/ - 测试配置正确性:
sudo nginx -t,显示ok后重启Nginx:sudo systemctl restart nginx - 在
/var/www/myOwnBlog.com里创建index.html文件,再访问域名就能看到自定义内容了。
备注:内容来源于stack exchange,提问作者Dean Debrio
相关产品推荐
相关产品推荐

