首页
归档
分类
标签
更多
留言板
说说
关于
Search
1
饥荒联机版控制台代码大全
1,026 阅读
2
编译安装带 Brotli 压缩的 Nginx
930 阅读
3
Obsidian多端快速同步插件
901 阅读
4
树莓派+EC20模块实现连接蜂窝网和短信收发
888 阅读
5
EC20通过gammu接收短信再转发优化
865 阅读
软件
CSS
Python
MySql
Java
typecho自定义
Vue
学习笔记
Linux
Shell脚本
Nginx
树莓派
邮件
拍照
热点
ec20
云盘
系统烧录
好玩
饥荒
硬件
工具
笔记
随心记
登录
Search
标签搜索
树莓派
Linux
Java
CSS
饥荒
小妙招
个人热点
nextcloud
云盘
DHT11
学习笔记
树莓派拍照
Nginx
MySql
ESP
娱乐
ec20模块
文件共享
git
图床
Mango
累计撰写
51
篇文章
累计收到
7
条评论
首页
栏目
软件
CSS
Python
MySql
Java
typecho自定义
Vue
学习笔记
Linux
Shell脚本
Nginx
树莓派
邮件
拍照
热点
ec20
云盘
系统烧录
好玩
饥荒
硬件
工具
笔记
随心记
页面
归档
分类
标签
留言板
说说
关于
搜索到
2
篇与
的结果
2022-08-11
利用GitHub Action自动集成部署Hexo博客到服务器
前引Hexo生成的静态博客有着安全、快速等特点,但是同时也存在一些比较明显的痛点由于没有后台,出现错误时移动端修改不方便本地文件丢失,很难找回原本博客配置文件没有Nodejs环境不能部署而这些问题都能通过Github Action得到比较好的解决Hexo本地博客创建{% note info simple %}已经有的可以跳过{% endnote %}第一次使用的话本地Hexo环境是肯定要有的,如果本地博客都没有的话后续步骤也没有意义了网上已经有比较成熟的教程,此处不做具体描述,{% link 从0开始用Hexo框架搭建个人博客(无坑版),清菡,https://zhuanlan.zhihu.com/p/305812430 %}{% link Hexo+阿里云,手把手教你如何搭建属于自己的个人博客(超详细),到站了还不下车,https://zhuanlan.zhihu.com/p/126243913 %}GitHub仓库创建在创建时最好选择私有,避免重要内容泄露新建工作流文件在博客更目录下新建.github/workflows/deploy.yml文件,deploy.yml文件的文件名可以随意起,只要是yml文件就行将配置内容复制到新建文件中# 当有改动推送到master分支时,启动Action name: Hexo博客自动部署 on: push: branches: - master release: types: - published jobs: deploy: runs-on: ubuntu-latest steps: - name: 检查分支 uses: actions/checkout@v2 with: ref: master - name: 安装 Node uses: actions/setup-node@v1 with: node-version: "12.x" - name: 安装 Hexo run: | export TZ='Asia/Shanghai' npm install hexo-cli -g env: CI: true - name: 缓存 Hexo uses: actions/cache@v1 id: cache with: path: node_modules key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}} - name: 安装依赖 if: steps.cache.outputs.cache-hit != 'true' run: | npm install --save env: CI: true - name: 生成静态文件 run: | hexo clean hexo generate env: CI: true - name: 部署 uses: burnett01/rsync-deployments@@5.2.1 with: switches: -avzh path: public/ remote_path: /var/hexo/ remote_host: mstzf.cn remote_port: 22 remote_user: root remote_key: ${{ secrets.SERVER_KEY }} 文本中流程执行结果是将静态文件部署到个人服务器中去其中,最后部署部分脚本通过 ssh 上的 rsync 将文件部署到远程文件夹中switches:rsync 标志,例如:-avzr --deletepath:要上传文件地址,当前hexo g之后静态文件在public/中remote_path:博客在服务器中的路径remote_host:主机地址remote_port:ssh连接端口号remote_user:要连接的用户remote_key:服务器生成的密钥服务器获取ssh连接密钥登录服务器终端,输入命令ssh-keygen出现的提示内容一路回车,最终会在~/.ssh生成公钥和私钥id_rsa.pub、id_rsa将公钥id_rsa.pub复制到authorized_keyscat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys复制一份私钥的内容新建secrets登录GitHub,选择要上传博客源文件的仓库->setting下name:SERVER_KEYValue:刚刚复制的私钥name可以随意但要和流程文件中secrets调用的名字一致检查.gitignore文件.DS_Store Thumbs.db db.json *.log node_modules/ public/ .deploy*/文件中内容表示上传要忽略的文件,如果文件不存在或者内容有缺少,要及时补充否则会上传大量无用文件,在添加和提交时都会浪费大量时间提交博客源代码到github将博客根目录下和主题文件下存在的.git文件删除或者移动到其非博客文件夹下将本地博客目录初始化文git仓库git init #初始化 git remote add origin <github仓库ssh代码> git checkout -b master # 切换到master分支,本地git仓库搭建成功后将源代码提交到GitHub仓库git add . git commit -m "first commit" git push origin masterGitHub Action会自动执行工作流程,如果一切顺利没有差错的话,博客会自动部署到我们的服务器上去
2022年08月11日
255 阅读
0 评论
0 点赞
2022-08-07
Hexo搜索引擎优化(SEO)
前引我们费尽心血写出来的各种博客,当然是希望分享给更多的人,让更多的人看到的,但是如果只是在自己的小圈子里面去分享的话,很难有好的浏览量,所以就需要我们去优化搜索,让浏览器收录我们的网址,这样在有人在浏览器搜索对应关键字的时候就有可能将我们的文章推荐给他。道理虽然是这样,但我自己的浏览数据也一直少得可怜搜索平台收添加搜索平台站长管理平台地址必应站长管理平台谷歌站长管理平台百度站长管理平台登录到搜索平台的站长管理页面,将自己的域名添加后,还需要进行验证,有三种方式,截图以必应的为例文件验证下载对应平台的验证文件后,将其保存到网站的根目录,hexo博客框架的话推荐保存到source/目录下,这样每次生成静态页面后都会在public文件下存在,当然也可以直接在public/下添加,但是在运行hexo clean之后被删除。其他博客框架添加方法也大同小异,只要确定网站根目录然后添加即可。最终达到的效果就是:能够通过https://你的域名/下载文件名直接访问到文件内容即可HTML标签验证将获取到的Meta粘贴在HTML文件的<head> </head> 部分中以下为必应下的Meta样式:<meta name="msvalidate.01" content="9565AFED5E9E8A24241BB5E6223CCB04" />我用的是hexo的butterfly主题,添加方法作者大大已经弄好,直接将获取到的值添加就行Butterfly 安裝文檔(四) 主題配置-2 | Butterfly其他主题应该也大同小异CNAME验证在DNS域名服务器中,给自己的域名添加新的解析记录添加必应的,以我在阿里云购买的域名为例,则需要在DNS下添加这里推荐使用方法1,下载文件,因为不需要改变其他文件,也不需要很复杂的操作流程。不论使用哪种方法,只要验证成功都可。提交站点地图站点地图是一个网站所有链接的容器。很多网站的连接层次比较深,爬虫很难抓取到,站点地图可以方便爬虫抓取网站页面,通过抓取网站页面,清晰了解网站的架构,网站地图一般存放在根目录下并命名sitemap,为爬虫指路,增加网站重要内容页面的收录。站点地图就是根据网站的结构、框架、内容,生成的导航网页文件。站点地图对于提高用户体验有好处,它们为网站访问者指明方向,并帮助迷失的访问者找到他们想看的页面。Hexo 可以通过两个插件来实现自动生成站点地图百度npm install hexo-generator-baidu-sitemap --save谷歌、必应npm install hexo-generator-sitemap --save然后在 hexo 的配置文件_config.yml中添加sitemap: path: sitemap.xml baidusitemap: path: baidusitemap.xml之后每次编译都会自动在/public目录下生成sitemap.xml和baidusitemap.xml。网站提交之后就可以到搜索平台上提交自己的站点地图了站点地图的URL为:https://你的域名/sitemap.xml和https://你的域名/baidusitemap.xml添加robotsrobots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。在/source下新建一个文本文档,重命名为:robots.txt内容为:User-agent: * Allow: / Allow:/posts/ Disallow: /js/ Disallow: /css/ Sitemap: https://域名/sitemap.xml Sitemap: https://域名/baidusitemap.xmlAllow: 表示可以访问Disallow:表示不允许访问Sitemap:表示站点地图更多详细内容自行百度修改永久链接hexo新建文章后的永久链接为/year/month/undefined,这样的链接格式层数太深,另外就是不方便命名。对此我的修改方式如下:去除year,在URL中出现年份,要是年份太远的话搜索引擎可能会给较低的优先级将/替换为-,将深度降低重新设置了一个urlname最终的permalink被替换成permalink: :month-:day/:urlname/ # :urlname 自定义文章网址名这样每次新建文章只需要在MarkDown的注释部分(用于生成文章标题,日期标签...)添加一个urlname: 自定义链接中的文章名字部分在使用MarkDown写文章时的一些小细节在文章中不要再使用一级标题#,推荐从二级标题##开始使用,不然会有多个<h1>标签的SEO错误添加keywords,好的关键字可以提高搜索准确率添加description,并且描述说明的长度应该再25-160字之间有图片时中括号[]内尽量不要为空,应当有适当注释{% note blue 'fas fa-bullhorn' simple %}有不足、错误之处欢迎大家评论指正{% endnote %}
2022年08月07日
318 阅读
0 评论
0 点赞