云服务器部署Hexo博客404错误修复指南
文章分类:售后支持 /
创建时间:2025-07-12
用云服务器部署Hexo博客时,遇到404 Not Found是常见问题——页面明明存在却提示“无法找到”,新手很容易卡在这里。今天就从现象到诊断,一步步拆解修复方法,帮你快速恢复博客访问。
先看现象:404的两种典型表现
实际遇到的404可能分两种情况:一种是部分页面“失踪”,比如点击文章链接跳404,但首页能正常显示;另一种是“全军覆没”,输入域名后直接弹出404页面,所有内容都访问不了。这两种情况的根源可能不同,排查时要注意区分。
可能原因:从配置到文件的四大“雷区”
问题可能出在配置文件——Hexo的_config.yml或服务器(如Nginx)的配置文件写错了;也可能是文件没放对地方,或者权限不够导致服务器读不到;服务器本身的端口、域名设置有偏差;甚至Hexo自己的路由规则没配好,都可能让请求“迷路”。
分步修复:从配置到文件的5个关键步骤
第一步:查Hexo核心配置
打开博客根目录的_config.yml,重点看两个参数:
- url:必须填你的域名或云服务器公网IP(例:http://123.45.67.89 或 http://blog.example.com),别漏写http/https。
- root:如果博客部署在子目录(比如/hexo/),这里要填“/hexo/”;部署在根目录就填“/”。
改完配置后,记得运行命令重新生成并部署:
hexo clean
hexo generate
hexo deploy
第二步:核Nginx服务器配置
用Nginx的用户,打开配置文件(通常在/etc/nginx/conf.d/或sites-available/),检查三个关键点:
- server_name:必须和_config.yml的url一致(域名或IP)。
- root:指向Hexo生成的public目录(例:/var/www/hexo/public)。
- location /:加上try_files $uri $uri/ /index.html; 确保找不到文件时跳首页。
改完后用sudo nginx -s reload重载配置。
第三步:验文件路径与权限
Hexo生成的public目录要完整传到云服务器。用ls -l /path/to/public检查文件权限,Nginx默认用户是www-data,建议执行:
sudo chown -R www-data:www-data /path/to/public
sudo chmod -R 755 /path/to/public
确保服务器有读取权限。
第四步:看Hexo路由规则
如果source/_data/router.yml存在,检查里面的路由是否匹配(例:archives: /archives/index.html);没有的话可以手动创建,避免自定义路由导致404。
第五步:查域名解析是否正常
用域名访问的用户,用ping yourdomain.com或nslookup yourdomain.com检查解析是否指向云服务器IP。如果显示的IP和服务器公网IP不一致,需要到域名服务商处修正解析记录。
如果按以上步骤操作后问题依旧,别慌!查看Nginx的日志文件(/var/log/nginx/error.log),里面会记录具体是哪个文件找不到,顺着路径就能定位到漏传的文件或配置错误。云服务器部署博客本就该省心,修好后就能继续分享你的文字啦!