在服务器上部署Hexo

合集下载

hexo 原理

hexo 原理

hexo 原理Hexo 是一种基于 Node.js 的开源博客框架,用于搭建静态博客网站。

本篇文章将介绍 Hexo 的原理,包括其核心概念、文件结构、安装与配置、动态内容实现、插件与主题等。

一、核心概念1. 静态博客:Hexo 生成的网站是静态的,没有任何服务器端代码。

所有的内容都存储在 Markdown 或其他格式的文件中,通过Hexo 生成器生成 HTML 文件,最终构建成一个静态网站。

2. Markdown 文件:Hexo 支持使用 Markdown 格式编写文章,Markdown 是一种轻量级的标记语言,易于编写和阅读。

在 Hexo 中,可以使用 Markdown 语法来编写文章内容、标题、链接、列表等。

3. Hexo 生成器:Hexo 使用一个名为 Hexo Generator 的脚本来生成网站。

该脚本根据数据库中的内容生成 HTML 文件,并将其放置在网站目录中。

生成后的网站具有基本的布局和样式,可以在浏览器中打开访问。

二、文件结构Hexo 的文件结构大致可以分为以下几个部分:1. 主题文件夹:存放 Hexo 主题的文件夹,包括 CSS、JavaScript、图片等资源文件。

2. 文章文件夹:存放 Markdown 文件的文件夹,每个文件夹可以包含多篇文章。

3. 数据库文件:Hexo 使用一个名为 `database.json` 的文件来存储文章标题、链接等信息。

该文件在生成网站时会被读取并用于生成HTML 文件。

4. 其他文件:包括配置文件、插件文件等。

三、安装与配置安装 Hexo 非常简单,只需要在终端中执行 `npm install hexo-generator-starter-theme --save` 命令即可完成安装。

配置 Hexo 则涉及到多个方面,例如主题设置、输出目录设置、插件安装等。

可以通过编辑 `hexo\config` 目录下的 `theme.yml`、`deploy.yml` 等配置文件来进行相应的设置。

用N1搭建家用NAS

用N1搭建家用NAS

⽤N1搭建家⽤NAS久闻N1⼤名,去年冬天⼊⼿了⼀台⽤来做电视盒⼦表现很不错。

最近有想写博客的想法,就想再来⼀台⽤以做博客的服务器。

但当N1到⼿后发觉没有公⽹IP,盒⼦也就只能⼯作在局域⽹,⽆法通过公⽹访问博客。

所以转换思路⽤hexo写博客挂在GitHub Pages上也是不错的。

那N1呢?没有公⽹IP索性就刷成Armbian,在Arm Linux上搭建家⽤NAS吧(顺带Linux也可以跑⼀些python脚本)。

⼀.降级并刷⼊ArmbianArmbian是适⽤与Arm平台的嵌⼊式Debian,是⼀个Arm Linux常见的硬件载体有各种pi(⽐如树莓派、⾹橙派)1.降级N1连接⽹络,在盒⼦上⽤⿏标连续点击版本号开启ADB,开启后打开降级⼯具选在2-N1降级按照提⽰输⼊相应IP,降级成功后就先不⽤管。

如果失败就多试⼏次。

补充:如果没有USB双公头线,那么将⽆法通过webpad降级⼯具的功能3)触发U盘启动。

替代⽅法是下载adb⼯具,然后执⾏如下2个命令,即可确保⽀持U盘启动:adb connect 斐讯IPadb shell reboot update2.刷⼊Armbian写⼊U盘降级成功后拔掉盒⼦电源,往U盘中写⼊Armbian系统,⽤烧录⼯具进⾏写⼊。

写⼊后将meson-gxl-s905d-phicomm-n1-xiangsm.dtb放进U盘中dtb⽬录下,在dtb同级⽬录下修改uEnv.ini为dtb_name=/dtb/meson-gxl-s905d-phicomm-n1-xiangsm.dtb其余配置不⽤改。

dtb为引导⽂件,引导不同的硬件配置以不同的⽅式启动Armbian,此处修改为N1的dtb是为了引导N1启动系统。

dtb⽂件作⽤的描述是,使⽤dtb可以减少linux内核版本的数量。

同⼀份linux 内核代码可以在多个板卡上运⾏,每个板卡可以使⽤⾃⼰的dtb⽂件百度dtb解释启动并配置然后插⼊U盘接通N1电源(不要在N1开机状态下插⼊U盘,安卓系统会往U盘⾥写⼀些东西,后会出现⼀些异常)插上⽹线,然后在windows⽤xshell或其它终端⽤ssh登陆N1的Armbian系统,登陆格式为ssh root@ip(N1在⽹络下的ip,可以去路由器查看) -p 22(端⼝,如果不⾏请⽤ScanPort扫描出端⼝)密码为1234,进去系统后会询问⼀次密码再次输⼊即可。

Hexo双语切换

Hexo双语切换

Hexo双语切换有英语版网站的需要,所以需要加一个双语切换功能,Hexo有对网站国际化的支持,即但存在缺陷,各种语言的文章会混杂在一起显得很混乱,需要稍加改造,步骤如下:安装插件安装Hexo国际化插件i18n,在博客根目录执行下列命令npm install hexo-generator-i18n##注意事项需要确保i18n插件位于根目录package.json中的所有插件的最后,每次安装新的插件时都要手动调整一次,因为每次安装新插件都会将插件按照字母顺序重新排列,目前没有发现好的方法,格式如下,注意最后一项没有逗号"dependencies": {"bookmark":"^0.2.3","clipboard":"^2.0.4","gitment":"0.0.3","hexo":"^3.8.0","hexo-asset-image":"0.0.3","hexo-deployer-git":"^1.0.0","hexo-generator-archive":"^0.1.5","hexo-generator-category":"^0.1.3","hexo-generator-index":"^0.2.1","hexo-generator-search":"^2.4.0","hexo-generator-sitemap":"^1.2.0","hexo-generator-tag":"^0.2.0","hexo-helper-live2d":"^3.1.1","hexo-prism-plugin":"^2.3.0","hexo-renderer-ejs":"^0.3.1","hexo-renderer-marked":"^0.3.2","hexo-renderer-stylus":"^0.3.3","hexo-server":"^0.3.3","hexo-symbols-count-time":"^0.4.4","hexo-wordcount":"^6.0.1","live2d-widget-model-tororo":"^1.0.5","live2d-widget-model-z16":"^1.0.5","hexo-generator-i18n":"0.0.7"}修改配置文件打开博客根目录中的配置文件_config.yml,在language栏作如下修改# language:# - zh-CN# - enlanguage: [zh-CN, en]i18n:type: [page, post]generator: [index, archive, categorie, tag]完成后执行hexo cl和hexo g二连重新生成public文件夹,此时会生成新目录/em用来存放英文站点文件,但此时不同语言的网站还是混合在一起的,需要添加生成条件让不同语言的页面出现在对的位置。

个人网站迁移之旅:从博客到知识库,从Hexo到Docusaurus

个人网站迁移之旅:从博客到知识库,从Hexo到Docusaurus

个⼈⽹站迁移之旅:从博客到知识库,从Hexo到Docusaurus或是出于跟风,或是为了简历能好看点,2020 年 2 ⽉,在翻看了中⽂互联⽹⼤量的「免费个⼈⽹页搭建教程」后,我选择了 Hexo + Github Pages 的⽅案,找了⼀款看上去还不错的主题,搭建了⾃⼰的第⼀个博客⽹站。

很难量化我在这接近两年的时间⾥有了什么成长,我迎来了⼀学期的⽹课(甚⾄期末考试都是线上),见证了前所未有的⽣活⽅式的转变(从此社恐⼈可以合理戴⼝罩了),学习了更多的计算机专业课知识(虽然已经忘光),写了更多的汉字(我都不好意思说能叫⽂章),体验了⼀边在互联⽹企业 996 ⼀边赶学期⼤作业 Deadline 的⽣活(然后现在推⾏「1075⼯作制」),准备考研⼜开始准备找⼯作,准备找⼯作⼜准备 Gap 去⽀教……这之中⼤概还是有很多值得记录的吧,然⽽从结果上看我并没有留下什么,因此我也开始思考就我个⼈的情况⽽⾔,⽤时间轴将⽂章串联起来的博客,是否是个⼈⽹站最合适的载体。

你需要的怎样的个⼈⽹站?知乎、简书、博客园、微信公众号……那些优秀或不那么优秀的写作平台已经有很多很多。

⽽选择独⽴于这些⼤平台,去运营⾃⼰的个⼈⽹站,这件事多少带点理想主义⾊彩——个⼈⽹站缺乏稳定的流量来源,在国内更是需要备案等操作,虽然能免于平台审核的等待,但更多时候恐怕只是⼩圈⼦的孤芳⾃赏。

⽽我最早是为什么开始写⽂章的呢?虽然「nobody cares」,但我现在想想依然觉得有些不可思议,当时的⾃⼰为什么有勇⽓做这种事(顺带⼀提我突然想起了粉丝刚刚破⼀万时我是如何声情并茂地和舍友讲了⼀下午我是怎么涨粉的的⿊历史,太尴尬了,现在我已经忘了当时他的脸上是怎样的神情)。

搭建个⼈⽹站则主要是为了寻找⼀种将所学知识归类展⽰的渠道,希望可以通过笔记避免知识的遗忘。

从我之前在 Hexo 上发布的博客来看,我发布的内容以课程内容、软件技巧为主,这些内容⼀般有⽐较明确的分类和标签,⽐起瀑布流式的⽂章,更适合⽤树状的Docs进⾏整理,这也成了本次迁移到 Docusaurus 的主要动⼒。

大学校园服务器的部署方案

大学校园服务器的部署方案

大学校园服务器的部署方案目录一、内容概括 (2)1.1 背景介绍 (2)1.2 部署目标 (3)1.3 部署范围 (4)二、需求分析 (5)2.1 硬件需求 (7)2.2 软件需求 (9)2.3 网络需求 (10)三、方案设计 (11)3.1 服务器选址 (13)3.2 服务器配置 (14)3.3 服务器部署策略 (15)3.4 数据存储与管理 (16)3.5 安全防护措施 (18)四、实施计划 (19)五、风险评估与应对措施 (20)5.1 技术风险及应对 (21)5.2 运营风险及应对 (22)5.3 法律风险及应对 (24)六、测试与验收 (25)6.1 测试目的与范围 (26)6.2 测试方法与过程 (27)6.3 验收标准与方法 (28)七、培训与运维支持 (30)7.1 用户培训 (31)7.2 运维支持 (32)八、维护与升级 (33)8.1 日常维护 (34)8.2 定期升级 (36)8.3 故障处理 (37)九、总结与展望 (38)9.1 实施效果评估 (39)9.2 未来改进方向 (40)一、内容概括服务器硬件需求分析:根据校园规模、用户数量和应用场景,对服务器的配置进行合理规划,确保满足各项性能指标要求。

服务器软件选型:推荐适合校园环境的操作系统、数据库、Web 服务器等软件,并对其进行配置优化,以提高服务器的整体性能。

网络架构设计:根据校园网的实际情况,设计合适的网络拓扑结构,实现服务器之间的高速互联,同时保证网络安全和稳定性。

存储系统规划:根据学校的数据存储需求,选择合适的存储设备和技术,实现数据的安全、高效和备份恢复。

安全策略制定:针对服务器可能面临的各种安全威胁,制定相应的安全策略和措施,确保服务器的安全稳定运行。

监控与维护:建立完善的服务器监控体系,实时监控服务器的运行状态,及时发现并处理故障,确保服务器的持续稳定运行。

培训与支持:为学校的IT管理人员和用户提供相关的培训和技术支持,帮助他们更好地使用和管理服务器资源。

云服务器安装宝塔面板完整教程

云服务器安装宝塔面板完整教程

云服务器安装宝塔面板完整教程展开全文下面稍微介绍一下如何使用阿里云服务器安装宝塔面板。

概述如果还有不了解宝塔面板怎么使用的小伙伴,可以看下前文:•宝塔面板教程(1)基于云服务器搭建宝塔面板教程最全详解•宝塔面板教程(2)宝塔面板添加WordPress站点详细图文教程•宝塔面板教程(3)基于宝塔面板成功配置网站SSL安全证书•宝塔面板教程(4)WordPress网站的备份与恢复(宝塔面板)•宝塔面板教程(5)WordPress网站程序和数据库定时备份到七牛云存储图文教程•宝塔面板教程(6)WordPress网站程序和数据库定时备份到又拍云存储空间图文教程•宝塔面板教程(7)宝塔面板版本升级更新教程汇总—升级宝塔面板一、准备阿里云的云服务器,即阿里云ECS,默认的用户名 root,密码的话可以修改。

当然你也可以选择腾讯云服务器,都能满足需求。

远程连接云服务器使用 ssh 软件工具,使用的是公网ip。

注意事项:出于性能考虑,服务器的操作系统一定要选Linux版本(centos或者ubuntu),不要选Window。

主要步骤:拥有一台云服务器》ssh工具连接云服务器》安装宝塔面板》配置云服务器安全组(放行端口)》宝塔面板在线访问成功二、安装面板1、使用ssh工具连接云服务器本站提供ssh客户端软件下载【Xshell6下载+Xftp6下载】【FinalShell下载】windows下可以使用XShell,macOs的可以使用终端。

因为SSH工具有很多种,找到自己用的舒服的工具就可以,不用纠结使用哪一种。

我自己是用的FinalShell这一款SSH工具来进行Linux远程连接的,如何认为不安全的话,也可以选择用xshell来进行服务器ssh远程连接,如下图2、输入宝塔面板安装命令温馨提示:宝塔面板最近升级到了7.0版本,Centos7以上的系统建议安装宝塔面板最新版:/bbs/thread-19376-1-1.html(宝塔面板7.x版本,点击查看安装命令)/bbs/thread-30562-1-1.html(宝塔面板6.x版本,点击查看安装命令)安装方法这里也有介绍(以宝塔面板 5.x版本举例):http:///bbs/thread-1186-1-1.html以下安装命令是宝塔面板5.x版本的,请注意。

witsml简单介绍解析


WITSML data schema WITSML data schema 由一组相互独立但又有联系 的data object schema组成。 一个 data object schema 定义了一套可以使用XML进行传输的数据 集。(详细信息)
WITSML API WITMSL API 定义了在计算机系统之间交换数据动态的高级协议 。WITSML API 是平台无关的,具有函数调用功能的程序设计语 言都可以使用WITSML API。 WITSML 定义了函数调用的语法,规定了参数的类型和返回值 。
<nameWell>TEST</nameWell> <nameWellbore>1</nameWellbore> <indexType>Depth</indexType> <startIndex>7051.0</startIndex> <endIndex>7851.0</endIndex> <indexCurve>DMEA</indexCurve> <stepIncrement>1.5</stepIncrement> <indexUnits>FT</indexUnits> <logCurveInfo> <curveDescription>Measured Depth</curveDescription> <mnemonic>TIME</mnemonic> <unit>S</unit> <nullValue>-999.2500</nullValue> </logCurveInfo> <logCurveInfo> <curveDescription>Time</curveDescription <mnemonic>ACTC</mnemonic> <unit /> <nullValue>-999.2500</nullValue> 6 </logCurveInfo>

Live2D模型

Live2D模型Live2D Widget特性 Feature在⽹页中添加 Live2D 看板娘。

兼容 PJAX,⽀持⽆刷新加载。

Add Live2D widget to web page. Compatible with PJAX.警告:本项⽬使⽤了⼤量 ES6 语法,不⽀持 IE 11 等⽼旧浏览器。

WARNING: This project does not support legacy browsers such as IE 11.⽰例 Demo在的左下⾓可查看效果。

(注:以下⼈物模型仅供展⽰之⽤,本仓库并不包含任何模型。

)你也可以在允许的范围内进⾏⼆次开发,这⾥有⼀些⽰例,展现基础效果,仿 NPM 的登陆界⾯依赖 Dependencies本插件需要 Font Awesome (v4 或 v5) 图标⽀持,请确保相关样式表已在页⾯中加载。

以 Font Awesome v4 为例,请在<head>中加⼊:Font Awesome (v4 or v5) is required for this plugin. Take Font Awesome v4 as an example, please add the following in <head>:<link rel="stylesheet" href="https:///npm/font-awesome/css/font-awesome.min.css">否则图标将⽆法正常显⽰。

(如果⽹页中已经加载了任何版本的 Font Awesome,就不要重复加载了)使⽤ Usage将这⼀⾏代码加⼊<head>或<body>,即可展现出效果:<script src="https:///gh/stevenjoezhang/live2d-widget@latest/autoload.js"></script>如果⽹站启⽤了 PJAX,由于看板娘不必每页刷新,因此要注意将相关脚本放到 PJAX 刷新区域之外。

FusionSphere安装指南


2
组件类型
VSAM
说明
FusionSphere解决方案中的系统服务虚拟机(VSA)管理组件,用于对提 供软件路由器、虚拟负载均衡和DHCP功能的系统服务虚拟机进行自动化配 置和管理。
部署VSAM节点后,用户在FusionManager上可以申请软件路由器,为虚拟 机绑定公网访问的IP地址,并支持配置ACL规则,以提升网络访问的安全 性。
192.168.60.1
0
08–19–A6–9AA8–B6
4
数据类型
参数
名称
存储类型 数据存储信息
启用虚拟化
管理IP地址
管理平面 VLAN
VRM虚拟机信 息
虚拟机规格 配置方式
CPU、内存 (GB)
浮动IP地址
VRM节点主备 配置信息
仲裁IP地址
说明
必选参数。 为主机添加的数据存储的名称。
样例
DataStore01
您可通过上述技术支持方式反馈任何意见与建议!
版权所有© 华为技术有限公司2016。 保留一切权利。
1 安装简介
1.1 安装方案
一、安装方案介绍
通过使用FusionSphere统一安装工具完成FusionSphere解决方案中主机及各管理节点的安装部署。 主备 部署时,需将主备节点分别部署在不同的主机之上。部署方案如下图所示。
Guest OS
CPU
资源池
虚拟化 服务器2
VM APP APP
Guest OS
CPU
虚拟化 服务器3
快速系列文档简介
本文档通过FusionSphere的使用场景举例,帮助您快速学习和掌握FusionSphere的安装、配置和业务发放。 了解更多关于FusionSphere的内容,请参考FusionCompute、FusionManager相关产品文档。

Linux Git服务器以及配置tortoiseGit

Git 安装使用手册一Linux Git服务器搭建1.在linux下创建一个单独的服务器用户,我这里设为gitser,密码为62.进入gitser用户的主目录下(/home/gitser)创建一个目录work(作为仓库文件夹),再进入warehouse目录3.git init命令来初始化目录4.这里在空仓库中建立一个新文件readme来测试这样之后服务器基本搭建完成二生成ssh连接的公钥,私钥我这里使用puttygen来生成公钥,私钥,参考网上教程如下用 PuTTYgen 来生成密钥,以后可以不用密码登录服务器了PuTTYgen 是密钥生成器,用来生成一对公钥和私钥供 PuTTY、PSCP、Plink、Pagent 来使用。

直接运行 PuTTYgen 可以看到如下的界面。

点击 Generate 按钮就开始生成一个公钥和私钥对,生成完毕后,点下面的 Save private key 就可以把私钥保存起来,扩展名是 .ppk 的文件。

Load 按钮可以把先前保存的私钥重新打开,然后做些修改,比如修改注释和私钥口令,或者把 PuTTY 格式的私钥转换为 OpenSSH 格式的。

开始用 PuTTYgen 创建密钥单击 Generate 按钮,然后你会看到进度条上面有个提示“Please generate some radomness by moving the mouse over the blank area.”,意思就是让你用鼠标在空白区域随机移动。

随着鼠标在空白区域的移动,进度条会一直走下去。

停止移动鼠标,进度条也就停止了。

那我们就移动鼠标,直到进度条走满为止。

等进度条走完之后,会出现下面的界面最上面那个大大的只读文本框里面是公钥,用来保存到 OpenSSH 的authorized_keys 文件中,这个文件中的每一行都是一个公钥。

默认情况下,这个文件位于 Linux 用户主目录的 .ssh/ 子目录中,如果文件和目录都不存在,可以直接创建。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在服务器上部署Hexo
不知道你是否了解利用Github搭建hexo个人博客的方法,不知道有没有小伙伴跟我一样想过把hexo放到自己的服务器上而不是Github,原因之一是Github访问略慢。

首先,既然hexo可以推送到Github,一定也可以推送到任意一台服务器,因为我们可以搭建Git服务器。

没有研究Github是怎么实现自动部署的,本教程利用Git的钩子来实现,说简单也简单,就是步骤有点多。

1.准备:
一台装了git和nodejs环境的本地主机
一台linux服务器,需要安装git和apache/nginx
环境搭建比较简单,这里不再赘述
2.安装hexo
Mac下,可以通过如下命令安装hexo
sudo npm install -g hexo
安装hexo
3.初始化hexo本地文件
hexo init
初始化hexo本地文件
4.配置本地git,生成shh key备用
配置git用户信息
生成ssh公钥
5.在服务器上初始化一个裸仓库
如果你还没有为git创建用户,请先
sudo adduser git
添加git用户
接下来可以到你喜欢的地方去初始化一个git裸仓库,用来作为提交地点
cd /home/git/
sudo git init --bare hexo.git
说明:这里我将/home/git/作为仓库目录,hexo.git作为仓库名
6.将公钥添加到服务器端
将上面生成的key(/User/.../.ssh/id_rsa.pub)写入到服务的
/home/git/.ssh/authorized_keys里,注意不要换行。

如果没有该文件,可能要手动创建。

7.修改_config.yml文件
在第3步初始化本地文件后你应该能得到一些文件,像下面这样
hexo本地文件列表
用编辑器打开_config.yml,将最后一行改为
type: git
repo: git@120.27.113.162:/home/git/hexo.git
branch: master
注意:冒号后面空格不能省略,否则会报错;repo根据你的实际情况填写
8.推送hexo到远程仓库
npm install hexo-developer-git --save
hexo d
注:要在hexo本地文件所在目录执行该命令
9.钩子的使用
这一步是本文的重点,hexo d命令只是将本地仓库和远程仓库同步起来,然而要怎么浏览我们刚刚生成的博客呢?思路很简单,通过git clone就可以得到博客的静态网页内容了,将得到的文件放在web目录下就可以实现访问了,速度当然比Github要快很多。

Git的钩子就派上用场了,在服务器仓库/home/git/hexo.git/hooks/目录下,有一个post-update.sample文件,将其重命名为post-update并将其内容修改为
#!/bin/sh
cd /
cd /usr/share/nginx/html/
git clone /home/git/hexo.git
cp -rf hexo/* .
rm -rf hexo
大家可能已经看明白了,因为这个钩子会在每次提交修改时触发,所以我们在每次提交后都到web根目录下去clone一下就得到了最新的博客内容了,我这里命令比较多因为我将博客移到根目录下了。

10.可以在浏览器中访问博客了
初步效果
嘻嘻,装个漂亮的主题
yelee主题
有些地方不是很详尽或者有疏漏错误等等,欢迎指正。

相关文档
最新文档