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

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

相关推荐
Seven971 小时前
Condition底层机制剖析:多线程等待与通知机制
java
怒放吧德德10 小时前
Spring Boot 实战:RSA+AES 接口全链路加解密(防篡改 / 防重放)
java·spring boot·后端
郑州光合科技余经理14 小时前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
大大水瓶14 小时前
Tomcat
java·tomcat
dustcell.14 小时前
haproxy七层代理
java·开发语言·前端
游离态指针14 小时前
以为发消息=下单成功?RabbitMQ从0到秒杀实战的完整踩坑笔记
java
BD_Marathon15 小时前
工厂方法模式
android·java·工厂方法模式
QQ51100828515 小时前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
q***098015 小时前
最新最详细的配置Node.js环境教程
node.js
WeiXin_DZbishe15 小时前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5