Nginx+Github部署Hexo


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链接

这是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

下载Ngde.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

再次部署就发现成功了

访问:

https://Catl04.github.io

catl04改成你的用户名就能访问了。


文章作者: 杨梅君
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 杨梅君 !
评论
 上一篇
Windows搭建hexo Windows搭建hexo
Windows+Nginx部署博客
下一篇 
你好 你好
欢迎来到 Hexo! 这是你的第一篇文章。 查看 文档 以获得更多信息。 如果您在使用Hexo时遇到任何问题, 可以在 故障排除中 找到答案,或者您可以在GitHub上询问我。 快速开始创建一个新帖子$ hexo new "My New P
2019-05-21 杨梅君
  目录