Nginx+Github部署Hexo
看到朋友搭建博客,就想搭建一个属于自己的博客,听朋友介绍了Hexo这个静态博客框架,经过几天研究和朋友的讲解终于将它搭建成功,现在将搭建过程和遇到的坑记录下来,以供大家学习。
1.安装Git
因为Centos7的yum仓库里面Git版本比较旧所以我们采用源码安装新版Git
1.1安装编译源码依赖包
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install -y gcc perl-ExtUtils-MakeMaker
1.2卸载老版本Git
yum remove -y git
1.3下载新版Git
这是Git下载目录自行找最新版本
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.xz //写下文章时最新版本
xz -d git-2.9.5.tar.xz //将xz解压然后得到tar格式压缩文件
tar xvf git-2.9.5.tar //解压tar文件
1.4编译安装Git
cd git-2.9.5 //进入文件夹
make prefix=/usr/local/git all //编译至该目录下
make prefix=/usr/local/git install //安装到该目录
注意:先编译在安装,编译速度取决于机器性能,等待一下就好了
编译好后配置环境变量
vim /etc/profile
在文件最下面写入变量
export PATH=$PATH:/usr/local/git/bin //这个目录是刚刚编译安装Git的目录
配置好变量后刷新一下
source /etc/profile
最后用git –version查看版本,可以看到Git的版本号为2.9.5
表示已经安装成功了
2.配置Git用户
adduser git
passwd git
chmod 740 /etc/sudoers
vim /etc/sudoers
在配置中找到这条记录
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
添加Git的配置
git ALL=(ALL) ALL
然后把权限改回来 chmod 400 /etc/sudoers
3.安装及配置Nginx
因为我的Yum仓库里有Nginx的包所以就直接Yum安装了,如果你的没有就自行百度Nginx的安装
3.1安装Nginx
yum install -y nginx //安装Nginx
systemctl start nginx //启动Nginx
systemctl enable nginx //开机启动Nginx
3.2配置Nginx
针对不同版本不同方式安装的Nginx配置文件位置可能不一样,我们可以用nginx -t
查看配置文件位置,也可以用检查语法错误,我的配置文件在/etc/nginx/nginx.conf
下
vim /etc/nginx/nginx.conf
命令进行编辑
server {
listen 80 default_server;
listen [ : : ]:80 default_server;
server_name www.yangzhiwen.work; #修改成你的域名
root /MyBlog/public/; #修改成网站目录下的public文件夹
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
然后systemctl restart nginx
重启 服务
4.安装Node.js
4.1下载Node.js
这是Node.js下载目录自行寻找最新版本
wget https://nodejs.org/dist/v12.4.0/node-v12.4.0-linux-x64.tar.xz
4.2解压Node.js压缩包
xz -d node-v12.4.0-linux-x64.tar.xz
tar -xvf node-v12.4.0-linux-x64.tar.xz
移动到/usr/local/node
目录下
mv node-v12.4.0-linux-x64 /usr/local/node
4.3配置环境变量
vim /etc/profile
#编辑这个文件
export PATH=$PATH:/usr/local/node/bin
#添加内容,指定Node目录
source /etc/profile
#刷新一下环境
输入node -v
测试Node.js是否安装成功,输出版本即完成安装
5.安装Hexo框架
5.1创建博客目录
这里的目录应该是刚刚Nginx里配置的目录,不然Nginx方式访问不上
mkdir /MyBlog
#创建目录
cd /MyBlog
#进入目录
5.2安装Hexo
npm install -g hexo-cli
5.4修改配置
vim _config.yml
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/
# Site 站点信息设置
title: 杨梅君博客 #站点名字
subtitle: #副标题
description: #站描述
author: 杨梅君 #作者
language: zh-CN #语言
timezone:
#URL 链接设置 ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://www.yangzhiwen.work #设置成你的域名
root: /
permalink: :year/:month/:day/:title/
permalink_defaults: -----------------------------------------------------------------略
deploy:
type: git
repo: git@github.com:mocorochio/micorochio.github.io.git #git仓库地址
branch: master
message: '站点更新:{{now("YYYY-MM-DD HH/mm/ss")}}'
6.部署到GitHub上
6.1设置本机Git全局配置
git config --global user.email 2example@qq.com //这里的eamil改成自己GitHub上的邮件地址
git config --global user.name Catl07 //这里的name改成你Github的用户名
6.2生成ssh密码
生成ssh密钥的作用是将本地文件部署到Github
cd //进到根目录
ssh-keygen -t rsa -C example@qq.com //不带-C和自己用户名邮箱Github不认可
less .ssh/id_rsa.pub /查看密钥
6.3创建博客工程
敲黑板!!!注意看!!!
6.3.1新建一个储存库
登录到你的GitHub然后点击这个位置,进去新建一个储存库
重点来了! 名字设置成你的用户名.github.io
不然网站可能访问不上
因为我的用户名是Catl04所以库名字叫Catl04.github.io
6.3.2在GitHub上导入ssh密钥
执行less ~/.ssh/id_rsa.pub
将内容全部复制
进入秘钥设置面板:https://github.com/settings/ssh 将复制内容全部复制到GitHub里面
6.3.3配置Hexo与GitHub仓库同步
#这里不能弄错,不然部署不上去
deploy:
type: git
repo: https://github.com/Catl04/Catl04.github.io.git #git仓库地址
branch: master
message: '站点更新:{{now("YYYY-MM-DD HH/mm/ss")}}'
下面是获取仓库地址
.修改主题
7.1主题下载
主题链接 这是其他博主分享的主题,找一个自己喜欢的下载
7.2使用主题
通过工具上传主题到博客目录下一个名叫theme
文件夹内然后编辑主目录下的_config.yml
#找到theme值 修改成你下载主题解压出来的文件夹名称
8.部署与访问测试
部署:
Ps:在本地博客文件目录
hexo generate
#编译Hexo
hexo d
#将本地库更新至GitHub仓库
执行hexo d
后报如下错
ERROR Deployer not found: git
这是没有部署插件安装一下就好了
npm install --save hexo-deployer-git
再次部署就发现成功了
访问:
将catl04
改成你的用户名就能访问了。