Linux上搭建Hexo博客
Linux上搭建Hexo博客
Linux 上搭建Hexo博客
在本地搭建
安装node.js
(archlinux发行版及其衍生版上,其他版本可用相关的软件包管理工具进行安装,如:yum apt-get,也可到官网下载安装包进行安装)
sudo pacman -S nodejs
#项目出现TypeError [ERR_INVALID_ARG_TYPE]错误时降级安装nodejs-lts-erbium node12长期支持版
node -v
安装Hexo
(archlinux发行版及其衍生版上,其他版本可先安装npm包管理工具,再用npm来安装hexo)
yay nodejs-hexo #安装时一路回车就行,npm等几个软件包可选不删除,这里推荐使用yarn代替npm
#若安装hexo后删除了npm,需要用npm的自行安装即可: sudo pacman -S npm
sudo pacman -S yarn
hexo -v
yarn -v
#npm -v
yarn config set prefix /usr/local #修改全局安装路径,修改后如进行全局安装时就需要加sudo
#或添加环境变量:
#bash :export PATH="$(yarn global bin):$PATH"
#fish : vim ~/.config/fish/config.fish #加入: set PATH (yarn global bin) $PATH
yarn与npm命令替换
npm (v5) | Yarn |
---|---|
npm install [package] --save |
yarn add [package] |
npm install [package] --save-dev |
yarn add [package] --dev |
(N/A) | yarn add [package] --peer |
npm install [package] --save-optional |
yarn add [package] --optional |
npm install [package] --save-exact |
yarn add [package] --exact |
(N/A) | yarn add [package] --tilde |
npm install [package] --global |
yarn global add [package] |
npm update --global |
yarn global upgrade |
npm rebuild |
yarn add --force |
npm uninstall [package] |
yarn remove [package] |
npm cache clean |
yarn cache clean [package] |
rm -rf node_modules && npm install |
yarn upgrade |
npm version major |
yarn version --major |
npm version minor |
yarn version --minor |
npm version patch |
yarn version --patch |
镜像源配置
简单修改
npm
# 临时修改(只生效一次)
npm install 包的名字 --registry https://registry.npm.taobao.org
# 设置npm的配置项(全局配置)
npm config set registry https://registry.npm.taobao.org
# 查看npm源的当前地址
npm config get registry
yarn
# 临时修改(只生效一次)
yarn save 包的名字 --registry https://registry.npm.taobao.org
# 设置npm的配置项(全局配置)
yarn config set registry https://registry.npm.taobao.org
# 查看npm源的当前地址
yarn config get registry
使用工具修改
npm
# 安装工具
npm install -g nrm
# 列出可选源
nrm ls
* npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
rednpm - http://registry.mirror.cqupt.edu.cn/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/
# 测试源响应时间
nrm test
* npm ---- 1440ms
cnpm --- 937ms
taobao - 392ms
nj ----- Fetch Error
rednpm - Fetch Error
npmMirror 1296ms
edunpm - Fetch Error
# 切换源
nrm use taobao
yarn
# 安装工具
sudo yarn global add yrm
# 列出可选源
yrm ls
* npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
rednpm - http://registry.mirror.cqupt.edu.cn/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/
# 测试源响应时间
yrm test
* npm ---- 13480ms
cnpm --- 1807ms
taobao - 482ms
nj ----- Fetch Error
rednpm - Fetch Error
npmMirror 2499ms
edunpm - Fetch Error
yarn --- Fetch Error
# 切换源
yrm use taobao
开始搭建
mkdir ~/blog #新建一个目录夹用于存放博客文件,如果有错误,直接删除该目录都行
cd ~/blog
hexo init #生成博客框架文件,出现WARN警告可以忽略,当出现ERR报错时就的将该目录下的所有文件删除,排除错误后从来
#出现INFO Start blogging with Hexo!代表成功
开启本地访问服务
hexo s #hexo server 将开启本地的4000端口用来访问博客
新建文章
hexo n “文章名” #hexo new “文章名”
清除缓存
hexo cl #hexo clean
生成静态文件
hexo g #hexo generate
hexo的一些指令
clean 删除生成的文件和缓存
config 获取或设置配置
deploy 部署到远程站点
generate 生成静态文件
help 获取有关命令的帮助
init 创建一个新的Hexo文件夹
list 列出网站的信息
migrate 将您的站点从其他系统迁移到Hexo
new 创建一个新帖子
publish 将草稿帖子从_drafts移动到_posts文件夹
render 使用渲染器插件渲染文件
server 启动服务器
version 显示版本信息
将博客部署到GitHub上
准备GitHub仓库
在github上创建一个以用户名.github.io
命名的公开仓库,如:eonun.github.io
获得仓库地址:https://github.com/eonun/eonun.github.io.git
安装git部署插件
yarn add hexo-deployer-git #在博客主目录下,安装部署插件
修改配置文件
vim _config.yml #修改在博客目录下的配置文件
#在末尾修改如下
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
#仓库地址
repo: https://github.com/eonun/eonun.github.io.git
branch: gh-pages
将本地的博客文件上传到github上
hexo d #输入账号密码验证
访问网站
在仓库中能查看到博客文件了,等待几分钟后以仓库名作网址访问:eonun.github.io
即可访问个人博客网站
将博客部署到coding上
准备仓库
coding
分团队版和个人版,大致都差不多的
创建一个仓库,名字可随意,不用像github
那样有严格的格式,
开启静态网页服务
coding
的项目需要自己开启静态网页服务
团队版: 项目>
持续部署>
静态网站 可选项:>
设置>
自定义域名>
绑定新域名>
绑定首选域名>
强制HTTPS
个人版: 项目>
代码>
Pages服务,一键开启
开启Pages
服务后会得到一个访问地址,个人版的地址是用户名.coding.me/项目名
,团队版的是随机码.coding-pages.com
如果没有自己的域名的建议使用个人版。
安装git部署插件
yarn add hexo-deployer-git #在博客主目录下,安装部署插件
修改配置文件
vim _config.yml #修改在博客目录下的配置文件
#在末尾修改如下
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
#仓库地址
repo: https://github.com/eonun/eonun.github.io.git
branch: master
多git平台搭建
配置ssh-key,参考git入手
vim _config.yml #修改在博客目录下的配置文件
#在末尾修改如下
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repo:
github: git@github.com:eonun/eonun.github.io.git
coding: git@e.coding.net:eonun/eonun.git
branch:
github: gh-pages
coding: coding-pages
有条件的自己搭个服务器才是最终解决方案
免费私有项目 | 自定义域名 | CI/CD | 服务器 | |
---|---|---|---|---|
GitHub | 是 (私有后无法开启Pages) | 是 | 否 | 荷兰 |
GitLab | 是 | 是 | 是 | 美国 |
Gitee | 是 | 99/年 | 否 | 湖北 |
Coding | 是 | 是 | 否 | 香港 |
绑定个人域名
购买域名并添加解析(如不需要,可直接用仓库名做自己的博客域名,无需单独购买)
选择合适的域名注册商注册一个域名,阿里腾讯都行。购买域名后添加解析
IP地址通过ping
访问地址获得
主机记录 | 记录类型 | 记录值 |
---|---|---|
@ | A | IP地址 |
www | CNAME | 仓库名 |
如:
主机记录 | 记录类型 | 记录值 |
---|---|---|
@ | A | 185.199.110.153 |
www | CNAME | eonun.github.io |
在仓库设置界面添加自定义域名
在仓库页顶部找到Settings
,进入后到页面最下方找到GitHub Pages
,再找到Custom domain
填入自己的域名就保存可以了
在source目录下创建文件CNAME,不然每次hexo deploy都得去设置GitHub Pages自定义域名
vim source/CNAME #创建文件添加内容(只能一个域名):