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

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

相关推荐
弹简特1 小时前
【JavaSE-网络部分03】网络原理-泛泛介绍各个层次
java·开发语言·网络
倔强的石头1061 小时前
飞算JavaAI如何提升重塑Java开发体验
java·飞算javaai·ai开发工具
毕设源码-钟学长1 小时前
【开题答辩全过程】以 基于node.js vue的点餐系统的设计与实现为例,包含答辩的问题和答案
前端·vue.js·node.js
努力d小白1 小时前
leetcode438.找到字符串中所有字母异位词
java·javascript·算法
短剑重铸之日1 小时前
《设计模式》第九篇:三大类型之结构型模式
java·后端·设计模式·组合模式·代理模式·结构性模式
没有bug.的程序员2 小时前
RocketMQ 与 Kafka 深度对垒:分布式消息引擎内核、事务金融级实战与高可用演进指南
java·分布式·kafka·rocketmq·分布式消息·引擎内核·事务金融
jiang_changsheng2 小时前
工作流agent汇总分析 2
java·人工智能·git·python·机器学习·github·语音识别
树码小子2 小时前
SpringIoC & DI (4)DI详解(三种注入方式)
java·后端·spring·ioc
落羽的落羽2 小时前
【Linux系统】从零实现一个简易的shell!
android·java·linux·服务器·c++·人工智能·机器学习