Hexo 是一个基于nodejs 的静态博客网站生成器,做者是来自台湾的 Tommy Chennode
特色:linux
有兴趣能够看一看个人我的博客:iyingyi.cnnginx
所以Hexo运行方式分为两种:git
直接将Hexo部署到服务器上,而后经过反向代理方式对Hexo的预览进行代理访问,此方法并不能体现出Hexo的静态的特色。github
将Hexo部署在本地我的电脑上,而后写文章生成静态文章页面,在经过git推送到GitHub、Gitee或者是我的服务器上,这样服务器上存在的只有静态文件,而这样也直接将调试环境和生产环境分开,易于使用。web
本文所采用方法为第二种方法,先将Hexo部署在本地电脑上,再git推送到服务器上数据库
所需环境:npm
1.Git (git-scm.com)vim
2.Node.js (nodejs.org)windows
3.Hexo
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
复制代码
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警告,不用管!
执行命令: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就已经完成
所需环境:
宝塔面板官网有详细的安装介绍,安装完成后须要在服务器的安全组里面(服务器提供商会给提供一个安全组)放行ssh端口22
在宝塔面板里面安装好git和nginx
而后逐步执行如下指令:
#建立文件路径
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
能够本身在宝塔面板中进入/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库和网站目录配置完成了
在本地电脑执行命令
npm install hexo-deployer-git --save
复制代码
配置本地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
复制代码