Hexo文章加密 & 搜索引擎优化SEO & 评论系统Twikoo
前言
博客文章打草稿,加密。
博客加入搜索引擎
搭建博客评论系统
本文使用hexo的butterfly主题,记录文章加密,搜索引擎收录和评论系统。
文章加密
打草稿和加密两种方式
文章草稿
文章正在撰写,但是不想deploy到网站,可使用此功能:
1hexo n draft "draft-name"
此时在 source/_drafts 下生成草稿文件 “draft-name”。发布文章可以使用 hexo publish "draft-name",draft-name 不包含扩展名,将文章从草稿状态转换为发布状态;将选定的草稿文件从 _drafts 目录移动到 _posts 目录。然后使用 hexo s 或者 hexo g 发布。
如果不想发布,只想通过localhost看草稿的格式,可以使用 hexo s --drafts
文章加密
文章阅读需要输入密码,安装插件:
1npm install --save hexo-blog-encrypt
在需要加密的文章开头(front-matter)添加一行 password: 密码内容
还可以在 f ...
Llama-Factory & Ollama & Langchain大模型训练-部署一条龙
前言
近些日子,大模型火的一塌糊涂,那么现在就有义务要学习一套好用的、从 dataset --> train --> deploy 的一整套流程,好拿来装逼。话不多说,进入正题
Train 框架
目前好用的框架太多,如BELLE, ChatGLM等,今天笔者推荐一个 Llama-Factory.
环境安装
12345git clone https://github.com/hiyouga/LLaMA-Factory.gitcd LLaMA-Factoryconda create -n llama_factory python=3.10conda activate llama_factorypip install -e .[torch,metrics]
没错,你没看错,就这么几步,环境就搞定了
Dataset
数据集是通用格式,如下:
123456789101112[ { "instruction": "你好", "input": "", "output ...
Docker reference
概念
image:镜像就是个包,是个死的东西。相当于python包。
container:把image启动了你就获得了一个独立的容器, 进入这个启动的容器就相当于一个conda环境。
安装
1.查看系统版本
12345678910111213$ cat /etc/os-release# NAME="Ubuntu"# VERSION="18.04.5 LTS (Bionic Beaver)"# ID=ubuntu# ID_LIKE=debian# PRETTY_NAME="Ubuntu 18.04.5 LTS"# VERSION_ID="18.04"# HOME_URL="https://www.ubuntu.com/"# SUPPORT_URL="https://help.ubuntu.com/"# BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"# PRIVACY_POLICY_URL=&qu ...
Linux自动执行脚本
前言
自动联网脚本,开机启动后自动挂载磁盘,内网穿透服务开机自启等。
以linux服务器自动联网为例,介绍几种方式:
tmux后台运行脚本
crontab 定时任务
systemd 服务
Tmux后台运行脚本
tmux + shell 编写自动操作脚本auto_login.sh。假设 login.sh 为登录脚本:
12345678910#!/bin/bashwhile true; do if ping -c 2 -w 3 www.baidu.com >/dev/null; then echo 网络正常:`date` else echo 网络异常:`date` echo 执行登录脚本:`login.sh` fi sleep 600 # 等待间隔:10mindone
运行 tmux,后台运行程序,每隔 10min 检测一次网络状态。当然也可以用 nohup 运行,通过 nohup 日志查看运行状态。
Crontab 定时任务
crontab 是 Unix 和 Unix 类操作系统中用于设置周期性执行任务的工具。crontab 的名字来自 “cron ...
Linux通过ZeroTier实现内网穿透
注册zerotier账号
Zerotier官网 注册账号,笔者使用谷歌邮箱注册。
创建一个网络
注册好之后进去会有一个默认创建好的网络,没有的话,就创建一个网络
创建好点击进入,啥都不用改,记住[网络ID]即可
linux安装Zerotier
使用官方脚本安装:
1curl -s https://install.zerotier.com | sudo bash
启动Zerotier服务:
1sudo systemctl start zerotier-one
加入Zerotier网络:([网络ID]是刚开始让你记住那个)
1sudo zerotier-cli join [网络ID]
离开某网络:
1sudo zerotier-cli leave [网络ID]
Zerotier官网页面配置
进入刚才创建好的网络页面,下滑找到Members部分。刚加入这个网络的linux信息会显示在这里。
点击address前边的小扳手–>点击Allow Ethernet bridging,再把小扳手前边的框勾上即可。
习惯上:小扳手后边的Name/Description下边会备注对应的服务器名 ...
hexo-butterfly魔改美化
一图流教程
在[BlogRoot]\source文件夹下新建一个文件夹css,该文件夹用于存放自定义的css样式,再新建一个名为custom.css,在里面写入以下代码:
1234567891011121314151617181920212223/* 页脚与头图透明 */#footer { background: transparent !important;}#page-header { background: transparent !important;}/* 白天模式遮罩透明 */#footer::before { background: transparent !important;}#page-header::before { background: transparent !important;}/* 夜间模式遮罩透明 */[data-theme="dark"] #footer::before { background: transparent !i ...
hexo博客部署到云服务器
Hexo博客能通过对markdown文档进行解析,输出静态html网页,易被部署至github,但github服务器在国外,国内访问速度很慢,因此部署在云上,也易于维护
准备工作
一台云服务器
本地搭建好的hexo blog
一个备案好的域名(没有就用ip访问)
云服务器配置
创建git用户
12sudo adduser git# 输入密码
给git用户增加权限(这里可以尝试不加权限试一下,笔者是加了的)
1234567sudo chmod 740 /etc/sudoerssudo vim /etc/sudoers# 找到合适的位置添加如下git ALL=(ALL:ALL) NOPASSWD:ALLsudo chmod 400 /etc/sudoers
配置ssh key
1234su gitmkdir ~/.ssh && chmod 700 ~/.sshtouch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys# 将本地生成的公钥内容复制到authorized_keys中并保存 ...
Droppy教程 | 轻量文件共享
文件共享成为了日常工作的重要组成部分。特别是对于那些需要快速、高效分享大文件的人来说,拥有一个简单可靠,且易于管理的平台至关重要。
项目地址:https://github.com/droppyjs/droppy
测试环境
123456uname -i# x86_64docker -v# Docker version 24.0.2, build cb74dfcdocker-compose -v# Docker Compose version v2.22.0
Docker配置Droppy
1234567891011version: '3'services: droppy: container_name: droppy-fileserver image: silverwind/droppy ports: - "8989:8989" volumes: - ./files:/files - ./config:/config restart: unless-stopped
在这个配置中,文件将存储 ...
Lets Encrypt配置泛域名证书
参考教程:Create Let’s Encrypt Wildcard Certificates in NGINX
Let’s Encrypt 是一个免费、开放且自动化的证书颁发机构,由 Linux 基金会进行日常管理维护。它为大量网站提供 TLS 证书,帮助网站轻松实现 HTTPS 加密。下面我将介绍如何利用 Let’s Encrypt 为网站生成免费的泛域名 SSL 证书。
环境
123456789101112❯ lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 20.04.6 LTSRelease: 20.04Codename: focal❯ uname -ix86_64❯ nginx -vnginx version: nginx/1.18.0 (Ubuntu)
安装Certbot
Certbot 是一个自动化的工具,用于获取和续签 Let’s Encrypt 的 SSL 证书。
123456789# 安装 snapsudo apt ...
Nginx双域名管理内网服务
如何使用两个域名分别绑定内外网服务,方便内网用户和外网用户访问。举个例子:内网地址为:share.local.codejerry.cn,公网则通过share.codejerry.cn访问同一个服务。
内容概要
设置泛解析 DNS:讨论如何通过泛解析来简化 DNS 管理,使任何子域名都能解析到指定的 IP。
配置 SSL 证书:介绍使用 Certbot 和 Let’s Encrypt 来自动化 SSL 证书的申请和续期过程。
内网服务配置:如何设置内网服务以通过 HTTPS 提供服务。
内网穿透设置:讲述如何使用内网穿透工具将公网流量安全地转发到内网服务。
公网服务器配置:最后,我们将看到如何配置公网服务器,以便通过公网域名访问内网服务。
实现过程
设置泛解析 DNS
泛解析 DNS 允许我们将任何子域名解析到指定的 IP 地址。这意味着,无论何时我们需要添加新的服务或页面,都不需要为它们单独配置 DNS 记录。
12*.local.codejerry.cn => 内网服务器 IP*.codejerry.cn => 公网服务器 IP
配置 SSL ...
Hexo博客+自定义域名访问
现在你应该已经有部署在github上的hexo博客,原地址为your-name.github.io;已经备案好的域名。
一、域名解析
登录你买域名的阿里云或者其他云,添加域名解析。
添加一个A记录
主机记录: blog (你的完整博客域名为blog.example.com)
解析请求来源:默认
记录值:IP (ping your-name.github.io,将ping到的IP填这里)
TTL:10分钟
二、本地hexo处理
去博客的根目录下,进入sources文件夹内,新建一个CNAME文件,文件名就叫这个,没有尾缀。把你的完整域名写进去,保存。然后回到博客根目录下hexo clean & hexo g & hexo d。
你会看到创建CNAME模式:
125 files changed, 136 insertions(+), 135 deletions(-)create mode 100644 CNAME
然后下楼去超市买瓶你爱喝的饮料(因为域名解析生效需要10min左右时间),回来就可以通过blog.example.com访问你的博客了。
Linux安装texlive&texstudio
linux下写paper神器,简单好用,装就完了,不要多问
安装Texlive
texlive镜像下载,传送门。这里我们选择texlive2023-20230313.iso下载。
cd到下载目录,挂载镜像 123sudo mount -o loop texlive2023-20230313.iso /mnt #挂载文件目录cd /mnt sudo ./install-tl #安装
安装过程中,会提示做选择,输入I继续安装,等安装结束后卸载镜像sudo umount /mnt。
配置环境变量。texlive 的默认安装目录在/usr/local/texlive/2023,(2023是版本号,记好此目录,后面会用到), 123456789vim ~/.bashrc# 在文件末尾增加以下内容export MANPATH=${MANPATH}:/usr/local/texlive/2023/texmf-dist/doc/manexport INFOPATH=${INFOPATH}:/usr/local/texlive/2023/texmf-dist ...