将hexo从本地部署到服务器

先来看看Hexo是什么?

Hexo 是一个基于nodejs 的静态博客网站生成器,做者是来自台湾的 Tommy Chennode

特色:linux

  • 难以想象的快速 ─ 只要一眨眼静态文件即生成完成
  • 支持 Markdown
  • 仅需一道指令便可部署到 GitHub Pages 和 Heroku
  • 已移植 Octopress 插件
  • 高扩展性、自订性
  • 兼容于 Windows, Mac & Linux

总结

  • 高速
  • 静态
  • 极强的扩展性
  • 易于部署

有兴趣能够看一看个人我的博客:iyingyi.cnnginx

所以Hexo运行方式分为两种:git

直接将Hexo部署到服务器上,而后经过反向代理方式对Hexo的预览进行代理访问,此方法并不能体现出Hexo的静态的特色。github

将Hexo部署在本地我的电脑上,而后写文章生成静态文章页面,在经过git推送到GitHubGitee或者是我的服务器上,这样服务器上存在的只有静态文件,而这样也直接将调试环境和生产环境分开,易于使用。web

本文所采用方法为第二种方法,先将Hexo部署在本地电脑上,再git推送到服务器上数据库

先将Hexo部署到我的电脑

所需环境:npm

1.Git (git-scm.com)vim

2.Node.js (nodejs.org)windows

3.Hexo

Git安装

Windows和Mac直接到Git官网下载对应的安装包进行安装

Linux (Ubuntu, Debian):sudo apt-get install git-core

Linux (Fedora, Red Hat, CentOS):sudo yum install git-core

安装完成后可使用git --version查看git版本

$ git --version
git version 2.32.0.windows.1
复制代码

Node.js安装

Windows和Mac直接到Git官网下载对应的安装包进行安装

Linux经过Nodesource进行安装,文档中提供在linux不一样版本下安装的命令

如Centos下命令为:

# root用户
curl -fsSL https://rpm.nodesource.com/setup_lts.x | bash -

# 非root用户
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
复制代码

安装完成后能够经过如下命令查看node.js版本:

$ node -v
v14.17.3
#npm为nodejs的包管理器,安装nodejs后会自动安装
$ npm -v
7.20.3
复制代码

注意:nodejs安装完成后windows和linux可能出现两个warning警告,不用管!

Hexo安装

执行命令:npm install -g hexo-cli随后会进行Hexo的安装

linux上推荐使用cnpm进行安装,cnpm安装命令为:

#npm安装Hexo方式与npm同样,只是把npm换位cnpm
npm install cnpm -g --registry=https://registry.npm.taobao.org
复制代码

安装完成后能够经过如下命令查看Hexo版本号:

$hexo -v
#如下为hexo环境以及版本号等...
hexo-cli: 4.3.0
os: win32 10.0.19043
node: 14.17.3
v8: 8.4.371.23-node.67
uv: 1.41.0
zlib: 1.2.11
brotli: 1.0.9
ares: 1.17.1
modules: 83
nghttp2: 1.42.0
napi: 8
llhttp: 2.1.3
openssl: 1.1.1k
cldr: 39.0
icu: 69.1
tz: 2021a
unicode: 13.0
复制代码

初始化并新建文章

执行如下命令

#cd到目标目录
cd {你想访问博客文件的位置}
hexo init {目录名}
复制代码

初始化完成后再执行

hexo new 标题
复制代码

生成一篇文章,再执行hexo s,能够在localhost:4000进行预览,这是调试模式

到这里本地部署hexo就已经完成

将本地生成的静态文件git到服务器

所需环境:

服务器配置

宝塔面板安装

宝塔面板官网有详细的安装介绍,安装完成后须要在服务器的安全组里面(服务器提供商会给提供一个安全组)放行ssh端口22

在宝塔面板里面安装好git和nginx

而后逐步执行如下指令:

建立git库
#建立文件路径
mkdir /var/repo/
#修改权限
chown -R $USER:$USER /var/repo/
chmod -R 755 /var/repo/
#建立远程git仓库,这里的仓库名自定义,而后记住后面会用到,例如:bog.git
cd /var/repo
git init --bare {自定义仓库名name}.git
复制代码
建立远程网站目录

在宝塔面板中新建网站,不须要数据库,开启ftp

2021-08-06.png

建立git钩子(hooks)

能够本身在宝塔面板中进入/var/repo/{自定义仓库名}.git/hooks/中建立post-receive文件并编辑输入内容

也能够执行如下命令:

vim /var/repo/{自定义仓库名}.git/hooks/post-receive
复制代码

进入vim编辑模式,输入如下代码:

#!/bin/bash

git --work-tree={新建的网站目录} --git-dir=/var/repo/{自定义仓库名}.git checkout -f
复制代码

而后执行如下命令:

#赋予可执行权限
chmod +x /var/repo/{自定义仓库名}.git/hooks/post-receive
复制代码

这里就已经将远程git库和网站目录配置完成了

本地hexo参数配置

安装hexo-deployer-git

在本地电脑执行命令

npm install hexo-deployer-git --save
复制代码
配置_config.yml文件

配置本地hexo中的_config.yml文件,格式以下:

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
  type: git
  repo: root@{服务器ip地址}:/var/repo/{自定义仓库名}.git
复制代码

保存退出了,到hexo目录下执行如下命令:

#生成静态文件
hexo g
#推送到git,过程当中会要求你输入服务器密码
hexo d
复制代码
相关文章
相关标签/搜索