2024安装hexo和next并部署到github和服务器最新教程

碎碎念

本来打算写点算法题上文所说的题目,结果被其他事情吸引了注意力。其实我之前也有过其他博客网站,但因为长期不维护,导致数据丢失其实是我懒得备份。这个博客现在部署在GitHub Pages上,github不倒,网站不灭,既省钱又稳定,但也有一些小问题。比如由于中国的gfw,GitHub的访问经常会受到限制,导致国内的小伙伴有时无法顺畅访问>_<。虽然我的博客里也没写啥有用的东西但还是希望能有更多的人看到~~或许我应该做做SEO?~~✨

刚好,我手上有两台服务器,在服务器上使用git创建私有库,并利用git hooks进行自动化部署,每次上传到gitHub的同时,数据也会同步到服务器。具体的教程,下次有时间再更新,这篇文章暂时就作为一个占位符?占位文章!,先在这里放着>ᴗ<


正文

你能找到这篇文章,相信你已经成功部署了hexo至本地

当然,为了照顾还没有部署的小伙伴

我在这里提供简短的教程 具体步骤请百度我觉得百度是世界上最大的广告站,到处都是广告 也可以参考Hexo官方文档获取更详细的信息。


这是我的blog网站 ivelisya’s blog

如果有人需要源码请在评论区留言喔其实是我想要多一点评论啦 欢迎交流与分享!

在这里插入图片描述


hexo本地部署教程超简化版

1.下载安装基础运行程序。
  • Git https://git-scm.com/
  • Node.js https://nodejs.org/en/
2.安装hexo

在你的node安装好并配置环境变量之后,会有一个npm命令

到你想要安装hexo的地方打开cmd

然后执行以下命令:

npm install -g hexo   # 进行安装
hexo init             # 初始化

到这里你已经完成了一半了是不是很简单

3.安装主题 毕竟原版不好看

这里我使用 next 主题

我安装的版本是 nexT v8

我更推荐的版本也是 nexT v8,原因的话就是老版本bug有点多

版本号仓库地址
2014~2017v5GitHub 仓库
2018~2019v6~v7GitHub 仓库
2020v8GitHub 仓库

安装主题就是站点根目录下直接 git clone 下来就可以了

git clone https://github.com/next-theme/hexo-theme-next即可

  • 打开站点配置文件,将 theme 那项改成 theme: next
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: next
# 搜索
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
  • 然后你就可以打开看看效果啦
hexo clean && hexo g && hexo s
INFO  Start processing
INFO  Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.
  • 访问 http://localhost:4000/ 即可查看本地部署效果

现在你已经完成本地部署了

部署至github page

  • 然后到 GitHub 创建一个和你用户名相同的仓库,后面加 .github.io

以我的 blog 为例,如下

在这里插入图片描述

  • 然后我们要实现免密登录,毕竟每次都输入密码也很麻烦
git config --global user.name "yourname"
git config --global user.email "youremail"

你也可以检查一下

git config user.name
git config user.email
  • 然后 Win + R 打开 cmd,然后执行
ssh-keygen -t rsa -C yourEmail

例如

ssh-keygen -t rsa -C simazhangyu@gmail.com
  • 然后你会发现 c:\user\yourName 下有一个 .ssh 目录,如果没有,打开隐藏文件夹,如下图

在这里插入图片描述

.ssh 文件夹下有 id_rsaid_rsa.pub,前一个是私钥,后一个是公钥

有兴趣的小伙伴可以了解一下 :ssh 公钥私钥原理 推荐阅读:SSH 密钥原理详解

我们需要将 id_rsa.pub 内的内容复制下来,然后进入 GitHub,点击 Settings,进入 SSH and GPG keys 选项,点击 New SSH key,然后填写 Title: BlogKey:你刚刚复制的公钥

到这里你已经完成了一大半啦

  • 进行配置

在这里插入图片描述

点开这个 _config.yml

在这里插入图片描述

对这个 deploy 进行修改

deploy:type: gitrepo: git@github.com:你的github用户名/你的github用户名.github.io.gitbranch: main

确保 deploy 配置正确,可以参考Hexo 部署文档

至此你就完成了部署到 github page 的全部教程

  • hexo clean && hexo g && hexo d 解释

    hexo clean 清理缓存

    hexo g 生成文章

    hexo d 推送到远端

使用 hexo d 推送试试吧,不出意外过一会你就可以访问 https://你的仓库名 来访问你的 blog 了,以我的 blog 为例,访问 https://ivelisya.github.io 即可

现在你已经完成部署至 github page 上了

数据保存

数据无价,辛辛苦苦写的 blog 数据丢失可就不好了

所以我建议在 GitHub 上面再开一个仓库来存放 blog 的源码

我建议是把 node_modules 这个文件夹也上传到仓库的,反正也不大,要是使用其它设备就可以直接 git clone 然后编写博客了,而不需要重新下载 hexo 这一步骤将加快部署速度。

默认大家都会使用 git,所以仅提供部分代码

# 强制添加 node_modules 文件夹
git add -f node_modules/
# 提交更改
git commit -m "Add node_modules directory"
# 推送到远程仓库
git push

部署至远端服务器

部署在 GitHub Pages 上有一些小问题。比如由于中国的 gfw,GitHub 的访问经常会受到限制,导致国内的小伙伴有时无法顺畅访问。所以可以同步部署在远端服务器上。这样以后推送的时候就会同时推到 GitHub 和个人服务器上了。

服务器设置

  • 登录服务器,然后安装 gitnginx

    我使用的是 root 账户

    服务器系统为 ubuntucentos 代码可能有所不同,请自行修改

    sudo apt update
    sudo apt upgrade
    sudo apt install git
    sudo apt install nginx
    
  • 创建一个 git 裸库

    cd ~
    git init --bare blogit.git
    
  • 使用 git hooks 进行自动化

    vim blogit.git/hooks/post-receive
    
  • 填入以下代码

    #!/bin/sh
    git --work-tree=/var/www/html --git-dir=/root/blogit.git checkout -f
    
  • 授予可执行权限

    chmod +x /root/blogit.git/hooks/post-receive
    
  • 实现免密登录

    cd .ssh/
    vim authorized_keys
    

    id_rsa.pub 的内容填入,id_rsa.pub 位于

    在这里插入图片描述

    如果没有请 Win + R 打开 cmd,然后执行

    ssh-keygen -t rsa -C yourEmail
    

    例如

    ssh-keygen -t rsa -C simazhangyu@gmail.com
    

    详细步骤请参考上文

    这里有一个问题

    服务器可能没有开 ssh 公钥登录,所以你可能需要手动设置

服务器设置 - 开启 ssh 公钥认证

编辑 /etc/ssh/sshd_config 文件

sudo vim /etc/ssh/sshd_config
在这里插入图片描述

如果这里是 no,或者被 # 注释掉了,取消注释,设置成如图所示那样

然后执行

sudo systemctl restart ssh
本地设置

修改配置文件,路径为

在这里插入图片描述

点开这个 _config.yml

在这里插入图片描述

对这个 deploy 进行修改

deploy:- type: gitrepo: https://github.com/Ivelisya/Ivelisya.github.io.gitbranch: main- type: gitrepo: root@yourServerIP:/root/blogit.gitbranch: master

确保两个 deploy 配置项都正确,可以参考Hexo 多部署配置

到这里你就已经完成了所有教程了✨

快使用 hexo d 推送试试吧!

总结

如果你觉得本教程有用请给我评论一下吧!求求了

如果你有任何问题,请给我留言,我会尽我所能提供帮助

我的 blog 网站 ivelisya’s blog

这将是一个长期更新支持维护的 blog

搭建博客容易,坚持写博客困难,希望各位小伙伴们不要三分钟热度,一定要坚持下去喔,对自己亲手搭建的网站负责嘛 自己已经搭建好 blog 的小伙伴可以给我留言,我可以将你的 blog 网站添加到友链>ᴗ<

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/64399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chinese-Clip实现以文搜图和以图搜图

本文不生产技术&#xff0c;只做技术的搬运工&#xff01; 前言 目前网上能够找到的资料有限&#xff0c;要么收费&#xff0c;要么配置复杂&#xff0c;作者主打一个一毛不拔&#xff0c;决定自己动手实现一个&#xff0c;功能清单受启发于Nidia AI lab实验室的nanodb项目&am…

Abaqus混凝土梁三点弯曲开裂模拟基于随机多边形骨料及界面过渡区模型

在细观混凝土开裂研究中&#xff0c;仿真可直观揭示混凝土中多相材料的破坏特征及微观裂缝的发展规律。本案例建立包含随机多边形粗骨料、界面过渡区&#xff08;ITZ&#xff09;及水泥砂浆在内的细观混凝土梁二维模型&#xff0c;对混凝土梁在三点弯曲工况下进行有限元模拟&am…

Qt之修改窗口标题、图标以及自定义标题栏(九)

Qt开发 系列文章 - titles-icons-titlebars&#xff08;九&#xff09; 目录 前言 一、修改标题 二、添加图标 三、更换标题栏 1.效果演示 2.创建标题栏类 3.定义相关函数 4.使用标题栏类 总结 前言 在我们利用Qt设计软件时&#xff0c;经常需要修改窗口标题、更改软…

渗透测试之js利用

引言 在渗透测试中&#xff0c;js利用是一个非常重要的部分&#xff0c;作为一个网络安全人员&#xff0c;我也是经常利用到这一模块&#xff0c;首先&#xff0c;js是什么呢 什么是js JavaScript(简称js)&#xff0c;javascript和java虽然名字相似&#xff0c;但两个东西却…

请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配

vs版本升级时&#xff0c;编译时会出现上述问题&#xff0c;如原来在2017下编译的程序&#xff0c;后来改用2019&#xff0c;出现上述问题。需要在解决方案-通用属性-调试源文件下变更相应设置。

Airbus结构数字样机理念及实践(转)

关注作者 1、数字样机的背景 早期的设计文档通过二维工程图来描述&#xff0c;对工程师来说&#xff0c;绘制工程图足够表达设计思想&#xff0c;工程图成为了标准的“工程师语言”。但是外围的用户通常通过透视图来表达设计意图&#xff0c;不得不产生了大量针对不同教育背景…

ik分词器了解 和 通过zip安装包的方式 将ik分词器安装到elasticsearch中

目录 1. ik分词器的作用&#xff08;效果&#xff09; &#xff08;1&#xff09;标准分析器效果 &#xff08;2&#xff09;ik_smart分词 &#xff08;3&#xff09;ik_max_word分词 2. 首先根据自己的elasticsearch的版本下载对应的ik分词器版本 3. 将下载好的ik分词器…

【人工智能】网络安全技术及应用

文章目录 前言一、网络安全概念1、你是否了解以下网络安全事件&#xff1f;2、什么是网络安全&#xff1f;3、网络安全的核心要素4、网络安全、信息安全、数据安全三者的区别5、网络安全的重要性6、网络安全-法律法规7、网络安全-等级保护 二、常见的网络安全威胁和攻击1、网络…

计算机屏幕坐标系简介

计算机屏幕坐标系简介 计算机屏幕坐标系是用于描述计算机显示屏上点的位置的系统。它在图形编程、游戏开发、用户界面设计等多个领域中至关重要。因此&#xff0c;需要理解掌握。坐标系通常由两个维度&#xff08;二维坐标系&#xff0c;平面坐标系&#xff09;或三个维度&…

java 通过jdbc连接sql2000方法

1、java通过jdbc连接sql2000 需要到三个jar包&#xff1a;msbase.jar mssqlserver.jar msutil.jar 下载地址&#xff1a;https://download.csdn.net/download/sunfor/90145580 2、将三个jar包解压到程序中的LIB下&#xff1a; 导入方法&#xff1a; ①在当前目录下&#xff…

车牌识别之二:车牌OCR识别(包含全部免费的数据集、源码和模型下载)

重要的事说在前面 数据集&#xff1a; https://pan.baidu.com/s/1YayAeqgdqZ0u2vSovd0Z4w 提取码&#xff1a;8888 如果作者误删的话&#xff0c;参考这里下载的CCPD2019.tar.xz和CCPD2020.zip获取。 背景 上一节车牌识别之一&#xff1a;车牌检测(包含全部免费的数据集、源…

单北斗+鸿蒙系统+国产芯片,遨游防爆手机自主可控“三保险”

在当今全球科技竞争日益激烈的背景下&#xff0c;技术自主可控的重要性愈发凸显。它不仅关乎国家安全&#xff0c;更是推动产业升级和经济发展的关键。特别是在一些特殊领域&#xff0c;如防爆通信&#xff0c;自主可控的技术更是不可或缺。遨游通讯推出了一款融合了单北斗、鸿…

【zlm】 webrtc源码讲解三(总结)

目录 setsdp onwrite ​编辑 play 参考 setsdp onwrite play 参考 【zlm】 webrtc源码讲解_zlm webrtc-CSDN博客 【zlm】 webrtc源码讲解&#xff08;二&#xff09;_webrtc 源码-CSDN博客

打造专业的电子商务维护页面:如何确保用户信任与业务连续性

在电子商务网站的运营过程中&#xff0c;维护是不可避免的一部分。然而&#xff0c;网站的短暂下线如果处理不当&#xff0c;可能会导致用户流失和销售额的下降。为了在维护期间依然保持客户的信任与业务的连续性&#xff0c;创建一个专业的维护页面至关重要。本文将为您详细介…

【python因果库实战5】使用银行营销数据集研究营销决策的效果5

目录 接触次数的效应 重新定义治疗变量和潜在混杂因素 更深入地审视干预情景 逆概率加权 标准化 总结及与非因果分析的比较 接触次数的效应 我们现在转而研究当前营销活动中接触次数的数量&#xff08;campaign&#xff09;对积极结果发生率的影响。具体来说&#xff0c;…

单步调试Android Framework——App冷启动

纸上得来终觉浅&#xff0c;绝知此事要躬行。 —— [宋]陆游 基于aosp_cf_x86_64_phone-trunk_staging-eng &#xff0c; 下面是具体断点位置。 第一部分&#xff0c;桌面launcher进程 com.android.launcher3.touch.ItemClickHandler onClickonClickAppShortcutstartAppShor…

【5G】5G的主要架构选项

最初&#xff0c;在3GPP讨论中考虑了所有可能的聚合和核心网络组合&#xff0c;共有八个架构选项。以下重点介绍option2、3、4和7。 1. 独立组网 (Standalone, SA) 架构选项 2 &#xff1a;Standalone architecture with 5G-core 特点&#xff1a; 5G核心网&#xff08;5GC, …

MySQL数据库备份,恢复

备份策略不同&#xff0c;恢复方式也不同。 在进行数据备份的时候&#xff0c;能使用冷备份就使用冷备份&#xff0c;安全可靠&#xff0c; 但是冷备份自己的缺点是【每一个数据库都对应着一个前端的业务】此时前端业务停止可能带来经济损失。 一.备份类型 根据服务是否在线…

OpenCV 学习记录:首篇

最近在学习机器视觉&#xff0c;希望能通过记录博客的形式来鞭策自己坚持学完&#xff0c;同时也把重要的知识点记录下来供参考学习。 1. OpenCV 介绍与模块组成 什么是 OpenCV&#xff1f; OpenCV (Open Source Computer Vision Library) 是一个开源的计算机视觉和机器学习软…

基于vue框架的的校园二手市场交易平台8k655(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;学生,大学,商品分类,商品信息,在线咨询 开题报告内容 基于Vue框架的校园二手市场交易平台开题报告 一、课题意义 &#xff08;一&#xff09;理论意义 本课题旨在研究基于Vue框架的校园二手市场交易平台的设计与实现。当前&#xff…