Hexo搭建教程

|--------------------------------------|---------------|
| 操作系统 | nodejs |
| CentOS Linux release 7.9.2009 (Core) | node-v16.20.2 |

nodejs安装

复制代码
#1. 下载 Node.js 16 的二进制包
wget https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz

#2. 解压并安装
tar -xvf node-v16.20.2-linux-x64.tar.xz
mv node-v16.20.2-linux-x64 /usr/local/node

#3. 添加环境变量
echo 'export PATH=/usr/local/node/bin:$PATH' > /etc/profile.d/nodejs.sh
source /etc/profile.d/nodejs.sh

#4. 验证
node -v

安装git

复制代码
# CentOS 7/8/Stream 通用
yum install -y git

# 验证
git --version

宝塔安装

复制代码
url=https://download.bt.cn/install/install_panel.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_panel.sh $url;fi;bash install_panel.sh ssl251104

hexo部署

复制代码
# 全局安装 Hexo
npm install -g hexo-cli

# 验证
hexo -v
复制代码
# 进入宝塔默认网站目录
cd /www/wwwroot

# 创建博客文件夹并初始化
hexo init myblog
cd myblog

# 安装依赖
npm install

# 生成静态页面(会在 myblog 下创建 public 文件夹)
hexo generate

#修改权限给宝塔
chown -R www:www /www/wwwroot/myblog

宝塔面板配置

添加站点
  • 宝塔 → 网站 → 添加站点
  • 域名:你的域名(或服务器 IP)
  • 根目录/www/wwwroot/myblog/public(⚠️ 必须是 public 子目录
  • PHP 版本:纯静态
访问测试
  • 浏览器访问你的域名,应该能看到 Hexo 默认页面

安知鱼主题部署

复制代码
cd /www/wwwroot/myblog/themes
git clone https://github.com/next-theme/hexo-theme-next.git
复制代码
# 编辑站点配置文件
vim /www/wwwroot/myblog/_config.yml

找到 theme: 这一行(大概在底部),改为:

复制代码
theme: next
# 原来的 landscape 可以注释掉或删掉
保存退出(:wq)

安装主题依赖并生成

复制代码
cd /www/wwwroot/myblog

# 安装主题可能需要的依赖
npm install

# 清理缓存并重新生成(必须执行)
hexo clean
hexo generate

# 修正权限
chown -R www:www /www/wwwroot/myblog/public

hexo clean的过程中会出现由于.user.ini被锁定,导致删除不掉

复制代码
# 1. 解锁 .user.ini(必须!)
chattr -i /www/wwwroot/myblog/public/.user.ini

# 2. 现在可以成功 clean 了
hexo clean

# 3. 重新生成
hexo generate

注意:如果Pug 模板没有被渲染 ,浏览器直接显示了 Pug 源码。说明 hexo-renderer-pug 没有正常工作。

复制代码
cd /www/wwwroot/myblog

# 1. 强制重新安装 Pug 渲染器(关键!)
npm uninstall hexo-renderer-pug
npm install hexo-renderer-pug --save

# 2. 同时确保 Stylus 渲染器也安装
npm install hexo-renderer-stylus --save

# 3. 清理并重新生成
hexo clean
hexo generate

最后刷新网站主题就切换成功了

相关推荐
咩咩啃树皮6 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
鱟鲥鳚7 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
大模型码小白8 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司9 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地10 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
wuqingshun31415910 小时前
TCP超时重传机制是为了解决什么问题?
java
莫逸风13 小时前
【AgentScope 2.0】 0. 学习指南
java·llm·agent·agentscope
z1234567898613 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
yaoxin52112314 小时前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python
做个文艺程序员14 小时前
Linux第24篇:Java应用监控体系搭建:Prometheus+Grafana可视化运维
java·grafana·prometheus