Hexo 服务器 4000 端口占用解决方案

这个错误的核心原因是 4000端口已经被其他程序占用,Hexo的本地服务器无法在该端口启动。下面提供几种解决方法,按从简单到复杂的顺序排列:

方法一:临时更换Hexo启动端口

这是最快捷的方式,不需要关闭占用端口的程序,直接指定新端口启动Hexo:

1
2
# 例如使用4001端口(可换成任意未被占用的端口,如5000、8080等)
hexo server -p 4001

启动后,访问 http://localhost:4001 即可查看博客。

方法二:找到并关闭占用4000端口的程序

如果想固定使用4000端口,需要找到占用该端口的进程并关闭。Windows系统操作步骤如下:

  1. 按下 Win + R,输入 cmd 打开命令提示符;

  2. 执行命令查找占用4000端口的进程ID(PID):

    1
    netstat -ano | findstr :4000

    输出示例:TCP 0.0.0.0:4000 0.0.0.0:0 LISTENING 1234(其中1234是PID);

  3. 执行命令结束该进程(将1234替换为实际查到的PID):

    1
    taskkill /F /PID 1234
    • /F:强制终止进程;

    • 如果提示“找不到进程”,可能是端口被临时占用,重启电脑即可释放。

  4. 重新执行 hexo server,即可在4000端口正常启动。

方法三:修改Hexo配置文件,永久更换端口

如果希望每次启动Hexo都默认使用新端口,可修改配置文件:

  1. 打开Hexo博客根目录下的 _config.yml 文件;

  2. 找到 server 相关配置(如果没有,手动添加),修改端口号:

    1
    2
    3
    server:
    port: 4001 # 替换为你想使用的端口(如5000、8080)
    host: localhost
  3. 保存文件后,执行 hexo server,即可默认在新端口启动。

补充说明

  • 常见占用4000端口的程序:其他本地服务(如Node.js服务、Python Flask/Django服务)、调试工具、杀毒软件、虚拟机等;

  • 如果是macOS/Linux系统,查找占用端口的命令为:lsof -i :4000,关闭进程的命令为:kill -9 <PID><PID>为进程ID)。

解决端口占用问题后,重新执行 hexo server 即可正常启动Hexo本地服务器。