Hexo博客的部署和使用

1 前言

Hexo是一款快速、简洁且高效的博客框架,其基于Node.js让页面快速完成渲染,强大的API带来无限可能,丰富的插件和主题让建站更容易,生成的静态网页托管在GitHub等平台上还可以省去大量服务器费用。

注意

本文将把Hexo博客部署在服务器而非GitHub等平台,另外由于Hexo框架的特殊性,部分操作要在本地完成,包括后期网站的维护和文章的编写也都在本地完成。

2 安装宝塔

本文使用宝塔面板,宝塔面板安装可参考下方文章,然后在宝塔面板选择安装 LNMP 套件

{% link 安装宝塔面板,服务器最佳搭档,宝塔和1Panel的部署与选择,/posts/6c819fda/ %}

3 本地环境安装

3.1 安装Git

Git官网下载最新版Git并完成安装

在Windows的CMD中执行git -v检查是否安装成功

image-20231213203205991

3.2 安装Node.js

Node.js官网下载LTS版本Node.js并完成安装

在选择自定义安装程序时,建议选择Add to PATH,这样就免去了手动配置环境变量的麻烦

image-20231213204028814

分别执行node -vnpm -v来检查是否被正确安装或是否可用

image-20231213204347624

3 配置SSH密钥

在本地终端执行生成公钥密钥命令,按照提示回车或者输入y确认

ssh-keygen

输出类似下图信息则表明完成

image-20231213204958089

生成的文件位置在 C:\Users\(你的用户名)\.ssh 中,在这个目录下有一个 id_rsa.pub 这就是我们后面要用的SSH公钥

image-20231213205357374

4 服务器相关操作

在进行其它操作前先在服务器端安装Git

yum install git

4.1 创建git账户

  • 创建 git 账户
adduser git
  • 赋予git账户权限
# 给sudoers文件740权限
chmod 740 /etc/sudoers

# 编辑 /etc/sudoers 文件
vim /etc/sudoers

i键进入编辑模式,找到root ALL=(ALL) ALL,在其下方加入:

git ALL=(ALL) ALL

若文件仅有几行且无root ALL=(ALL) ALL,则直接文末加入:

root ALL=(ALL) ALL
git ALL=(ALL) ALL

image-20231213174655059

退出Vim,在编辑模式下点击ESC退出编辑,输入:wq保存并退出Vim

改回sudoers文件权限

chmod 400 /etc/sudoers
  • 设置 git 账户密码
sudo passwd git

密码输入是看不到的

image-20231213174722664

  • SSH连接

切换至 git 用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件

# 切换git用户
su git
# 创建.ssh文件夹
mkdir ~/.ssh
# 创建并编辑authorized_keys文件
vim ~/.ssh/authorized_keys

i进入编辑模式,把之前本地中生成的id_rsa.pub文件中的公钥复制进去,保存退出

如果复制不方便,可以将本地id_rsa.pub文件上传到.ssh文件夹并重命名为authorized_keys

更改权限

sudo chmod 600 /home/git/.ssh/authorized_keys
sudo chmod 700 /home/git/.ssh
  • 测试连接

在本地桌面右键”Git Bash Here”或者CMD命令行,输入以下命令,执行输入yes后无报错说明配置成功了

ssh -v git@服务器ip地址或域名

如果连接出现Permission denied (publickey,gssapi-keyex,gssapi-with-mic)错误,在服务器端执行sudo vim /etc/ssh/sshd_config命令打开sshd_config配置文件,将第70行左右的 PasswordAuthentication 设置为yes,保存退出,重启sshd服务sudo systemctl restart sshd

4.2 创建git仓库

切换到root账户

sudo su root

创建仓库目录

mkdir /var/repo
chown -R git:git /var/repo
chmod -R 777 /var/repo

创建网站根目录

mkdir /www/wwwroot/hexo
chown -R git:git /www/wwwroot/hexo
chmod -R 755 /www/wwwroot/hexo

创建一个空白的 git 仓库

cd /var/repo
git init --bare hexo.git

编辑一个 Git 钩子

vim /var/repo/hexo.git/hooks/post-receive

i进入编辑模式,添加下面的代码,然后保存退出

#!/bin/bash
git --work-tree=/www/wwwroot/hexo --git-dir=/var/repo/hexo.git checkout -f

更改权限

chown -R git:git /var/repo/hexo.git/hooks/post-receive
chmod +x /var/repo/hexo.git/hooks/post-receive

5 宝塔网站配置

在宝塔面板中点击左侧栏网站,在PHP项目中添加站点

添加的域名确保被解析,根目录要对应前面创建的网站根目录

image-20231213214756903

进入网站根目录删除所有文件,尤其是.user.ini

等最后网站搭建完成后,网站的SSL证书可以去部署一下,宝塔和腾讯云都有免费的提供

6 安装Hexo

在本地创建一个空文件夹,这个文件夹要长期保留避免移动

在该文件夹内打开CMD命令行,使用 npm 安装 Hexo

npm install -g hexo-cli

image-20231213220428389

初始化博客程序

hexo init

本地运行项目

hexo g && hexo s

访问http://localhost:4000/能够打开页面即为成功,CTRL+S结束进程

7 Hexo部署

在Hexo博客根目录,编辑站点配置文件 _config.yml,找到deploy,修改参考如下

deploy:
    type: git
    repo: git@服务器IP:/var/repo/hexo.git
    branch: master

安装所需组件(插件)

npm install hexo-deployer-git --save
npm install hexo-server

传到服务器

hexo clean && hexo g && hexo d 

最后,访问域名就可以访问Hexo博客了

8 写在最后

如果觉着Hexo部署复杂,可以尝试Halo框架,但是,Hexo真的很好用!

完成本文后部署后,博客页面还是最初的样式,可以找个喜欢的主题来美化博客。


本文首发于 爱吃猫的鱼BLOG

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Hexo搭建博客并将其部署到Gitee的过程中,你需要进行一些修改以确保正确的部署。 首先,你需要在_config.yml文件中找到deploy配置部分。在这里,你需要对deploy进行如下修改: ``` deploy: - type: git repo: https://gitee.com/你的用户名/你的仓库名.git branch: master ``` 将上述代码中的"你的用户名"替换为你在Gitee上的用户名,并将"你的仓库名"替换为你的博客仓库在Gitee上的名称。 接下来,你需要将你的博客同时部署到GitHub,以便在无法访问Gitee时,仍可通过GitHub访问你的博客。在_config.yml文件的deploy配置中,添加以下代码: ``` - type: git repo: https://github.com/你的用户名/你的仓库名.git branch: master ``` 同样,将上述代码中的"你的用户名"替换为你在GitHub上的用户名,并将"你的仓库名"替换为你的博客仓库在GitHub上的名称。 完成以上修改后,保存并关闭_config.yml文件。接下来,你可以通过运行命令`hexo deploy`将你的博客部署到Gitee和GitHub。 请注意,部署到Gitee相对于GitHub可能会稍微麻烦一些,因为你需要手动去Gitee的网站上更新一次才能看到更新效果。这是因为Gitee是国内版的GitHub,速度相对较快,但在部署时需要手动同步。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [搭建hexo博客——Gitee篇](https://blog.csdn.net/qq_939317133/article/details/124046319)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [hexo博客同时部署gitee和github,搭建镜像站](https://blog.csdn.net/liegu0317/article/details/123058346)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M.Talen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值