云服务器部署网站404错误排查指南
文章分类:技术文档 /
创建时间:2025-09-25
用云服务器部署网站时,404错误是让人头疼的高频问题。今天整理了四种最常见的404报错场景,从现象识别到具体解决步骤逐一拆解,帮新手快速上手排查。
第一种情况:访问部分页面报404
最常见的原因是页面文件丢失或路径配置错位。比如用户明明上传了"about.html",访问时却跳404,这时候要先检查云服务器里的文件是否真的存在。曾遇到过客户误删了某个子目录文件,导致二级页面全挂的情况。
具体排查分两步:第一步登录云服务器,用`ls /var/www/html/pages`命令查看目标路径下的文件(假设网站根目录是/var/www/html)。如果返回"没有该文件或目录",说明文件可能被误删或上传失败,需要从备份恢复或重新上传。第二步检查Nginx配置文件(通常在/etc/nginx/sites-available目录),重点看location指令里的路径是否和实际文件路径一致。比如配置写成了"/oldpages"但文件存在"/newpages",就会导致匹配失败。确认后用`nginx -s reload`命令重新加载配置。
第二种场景:整站访问都跳404
这时候要优先检查两个核心点:网站根目录配置是否正确,以及Web服务器是否正常运行。之前有客户迁移网站时,误将根目录指向了测试文件夹,结果整站都无法访问。
操作上先查配置:打开Nginx或Apache的主配置文件,确认root指令是否指向正确的网站目录(如/var/www/html)。如果配置没问题,接着用`systemctl status nginx`命令查看服务状态。如果显示"active (running)"是正常的,若显示"failed"或"inactive",需要用`systemctl start nginx`启动服务;如果启动后又自动停止,可能需要检查错误日志(通常在/var/log/nginx/error.log)排查更深层问题。
第三种问题:新传页面访问404
这种情况十有八九是文件权限问题。云服务器的Web服务(如Nginx)通常以www-data用户运行,如果新上传的文件没有该用户的读取权限,即使文件存在也无法访问。之前有客户用FTP上传文件后没改权限,结果新页面一直报404。
解决方法很简单:用`ls -l /var/www/html/newpage.html`查看文件权限,正常应该显示-rw-r--r--或更宽松的权限。如果显示-rw-------(只有所有者可读写),需要用`chmod 644 /var/www/html/newpage.html`给其他用户添加读取权限。如果是目录权限问题,可能需要用`chmod 755`给目录添加执行权限(否则无法进入目录)。
第四种现象:域名解析正常但404
这种情况多和虚拟主机配置有关。云服务器常用来托管多个网站,每个网站需要在Web服务器里配置独立的虚拟主机。如果域名、端口或根目录配置错误,即使域名解析正确,也会找不到对应的网站文件。
排查时重点检查虚拟主机配置文件(Nginx在/etc/nginx/conf.d目录,Apache在/etc/apache2/sites-available)。确认server_name是否填写了正确的域名(包括www和非www版本),listen指令是否指定了正确的端口(默认80或443),root是否指向对应网站的根目录。修改后一定要用`nginx -s reload`或`systemctl reload apache2`重新加载配置,否则修改不会生效。
遇到404错误时别慌,按"现象-诊断-解决"的逻辑一步步排查:先确认文件是否存在,再检查路径和权限配置,最后看服务状态和虚拟主机设置。掌握这几个关键点,用云服务器部署网站时处理404问题会更高效。