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

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

相关推荐
Echoo华地3 分钟前
Gatling压测案例
java·jmeter·压力测试·并发·scale·压测·gatling
码云数智-园园3 分钟前
C# 内存模型的基石:值类型与引用类型的深度博弈
java·开发语言·jvm
rannn_1114 分钟前
【Redis|实战篇7】黑马点评|附近商铺、用户签到、UV签到
java·数据库·redis·后端·uv
迷藏4948 分钟前
**发散创新:基于 Rust的模型保护机制设计与实践**在人工智能快速发
java·人工智能·python·rust·neo4j
铅笔小新z8 分钟前
【Linux】进程(下)
java·linux·运维
lifallen9 分钟前
Flink Agents:Memory 层级分析 (Sensory, Short-Term, Long-Term)
java·大数据·人工智能·语言模型·flink
lifallen12 分钟前
Flink Agents:外部副作用一致性 (ActionStateStore) 演进分析
java·大数据·人工智能·语言模型·flink
小书房16 分钟前
Java的运行时数据区
java·开发语言·运行时数据区
Crazy________16 分钟前
docker4.9数据卷/网络模式
java·开发语言
indexsunny16 分钟前
互联网大厂Java面试实战:从Spring Boot到微服务架构的技术问答
java·spring boot·redis·微服务·面试·kafka·spring security