Ubuntu服务器安顿hexo博客,在aws服务器上安排hexo

by admin on 2019年3月9日

正文跳过Ali云成立git仓库、hexo安插到github的步调,有必要的能够运动上边博客地址查看:

那是率先篇,加油~~~


推荐理由:

Hexo 是用 Node.js 开发的1个静态站点生成器(Static Site
Generator),辅助 Markdown
语法写作,有着强大的插件系统,而且质量优良。上面笔者推荐的这篇文章,介绍如何在一台
Ubuntu 14.04 的 CVM 云服务器上急迅陈设 Hexo
博客站点,怎样高效公布一篇博文并经过云服务器上的个体 Git 仓库铺排到 Web
服务器目录下;希望对大家有所帮忙。

以下为文章原著

除却闷头专研技术之外,程序员还供给不断地创作实行技能积淀,写博客是中间最根本的艺术之一。商业博客平台不少,不过更适合程序员背景的方案,是协调开支1个博客平台依旧利用开源的博客平台。

开源的博客平台不胜枚举,而且不乏美丽之作,如
Hexo、Octopress、Jekyll、Wordpress。本体系小说将享受什么使用各样博客引擎在云端搭建属于本身的私有博客。前天是率先篇,介绍如何在
Ubuntu 14.04 上配备 Hexo 博客。

Hexo 是用 Node.js 开发的二个静态站点生成器(Static Site
Generator),扶助 马克down
语法写作,有着强大的插件系统,而且品质非凡。阅读不少技艺社区享受的小说时,看到国内许多同班都有在用这一个引擎,看来「市集占有率」不低。

正文将介绍怎样在一台 Ubuntu 14.04 的 CVM 云服务器上火速安排 Hexo
博客站点,怎么着神速发表一篇博文并透过云服务器上的个人 Git 仓库布置到 Web
服务器目录下。

前提条件

假如想跟着本教程顺遂完结 Hexo 博客的搭建,供给拥有以下原则:

一台设置了 Ubuntu 14.04 的CVM
云服务器。一般个人博客的流量都相比低,初期选取1核 1GB内部存款和储蓄器类型的服务器即可,而且有不少免费试用的时日。

在地头电脑上设置 Node.js 和 npm,提议谷歌(谷歌(Google))呼应关键词精晓具体步骤。

别的,还要在云服务器上安装 Git 和 Nginx 多少个需求的软件包。Git
用于版本管理和安顿,Nginx 用于静态博客托管。

sudo apt-get updatesudo apt-get install git nginx -y

别的,本文均以 Windows 为例,演示在该地端的操作,Mac
上的操作会更为简单。Windows 上一直不 Mac 的 iTerm2
,大家以ConEmu+Git
Bash
组成的巅峰作为替代。借使有读者感兴趣,后续再次创下作介绍具体配置格局。**

  1. Ubuntu服务器安顿hexo博客,在aws服务器上安排hexo。地点 Hexo 安装及开始化

NPM 上还有众多 Hexo 相关的包,不过即便安装好了 hexo-cli 和 hexo-server
那多少个基本器件之后,就足以让博客跑起来了。

咱俩接纳 Node.js 的包管理器 npm 安装 hexo-cli 和 hexo-server。

npm install hexo-cli hexo-server -g

hexo-cli 是 Hexo
的命令行工具,可用来火速新建、揭橥、布置博客;hexo-server 是 Hexo
的内建服务器,可用以陈设前的预览和测试。-g 选项,表示全局安装。

接下去,为 Hexo
博客做一些基础配置,包涵创设基础文件。那步操作很简短,Hexo
提供了二个便捷命令,只需求提供二个存放文件的目录地址即可。

hexo init ~/hexo_blog

在境内环境下实施该命令,速度会稍微慢。因为供给从 Hexo 在 Github
上的库房克隆;仓Cook隆成功后,会自行执行一文山会海 npm
命令,自安装注重模块。

此刻,大家就已经有了三个作文、管理博客的环境。

  1. 云端服务器配置

姣好地点端的操作之后,一时回去服务器的安排。在上面包车型地铁操作在此之前,请确定保证已经购置了一台云服务器,并且能够以
ubuntu 用户地方平常登陆。

在那部分,要大功告成以下件工作:

为地面包车型客车 hexo_blog 配置二个布局静态文件的长途仓库。

过多科目均以 Github
作为中间转播的平台,不过会让任何流程变得更为复杂,而且会受服务器与 Github
之间互连网状态的熏陶。假设 Github 宕机也许被封,你将无法创新博客。

安顿 Nginx 托管博客文件目录。

布局远程仓库自动更新到博客文件目录的钩。

2.1 创制私有 Git 仓库

在 /var/repo/ 下,成立2个名为 hexo_static 的裸仓库(bare repo)。

比方没有 /var/repo
目录,须求先创立;然后修改目录的全体权和用户权限,之后 ubuntu
用户都具有/var/repo 目录下全数新变化的目录和文书的权位。

sudo mkdir /var/repo/sudo chown -R $USER:$USER /var/repo/sudo chmod -R
755 /var/repo/

然后,执行如下命令:

cd /var/repo/git init –bare hexo_static.git

2.2 配置 Nginx 托管文件目录

接下来,创建 /var/www/hexo 目录,用于 Nginx 托管。

sudo mkdir -p /var/www/hexo

和上一步类似,那里也亟需修改目录的全数权和权杖。

sudo chown -R $USER:$USER /var/www/hexosudo chmod -R 755 /var/www/hexo

然后,修改 Nginx 的 default 设置:

sudo vim /etc/nginx/sites-available/default

将中间的 root 指令指向 /var/www/hexo 目录。

…server {    listen 80 default_server;    listen [::]:80
default_server ipv6only=on;    root /var/www/hexo; # 供给修改的部分   
index index.html index.htm;…

封存并退出文件。如若以往购买并备案域名之后,能够再将配置中的
default_server 修改为您的域名。

末段,重启 Nginx 服务,使得改动生效。

sudo service nginx restart

做完这一步之后,你去拜访服务器的 IP 时,应该依旧会报错的,因为
/var/www/hexo 目录是空的。

2.3 创建 Git 钩子

接下去,在服务器上的裸仓库 hexo_static
创立一个钩子,在满足特定条件时将静态 HTML 文件传送到 Web
服务器的目录下,即 /var/www/hexo。

在自动生成的 hooks 目录下成立2个新的钩子文件:

vim /var/repo/hexo_static.git/hooks/post-receive

在该文件中添加两行代码,内定 Git 的办事树(源代码)和 Git
目录(配置文件等)。

#!/bin/bashgit –work-tree=/var/www/hexo
–git-dir=/var/repo/hexo_static.git checkout -f

保存并脱离文件,并让该公文变为可执行文件。

chmod +x /var/repo/hexo_static.git/hooks/post-receive

时至明日,服务端的配置基本告竣。

  1. 姣好地点 Hexo 配置

在第二部分的操作中,我们将形成以下职责:

修改 Hexo 配置中的 U兰德酷威L 和私下认可文章版式;

Ubuntu服务器安顿hexo博客,在aws服务器上安排hexo。新建博客草稿并颁发

配置活动布置到服务器端的 hexo_static 裸仓库;

3.1 修改 Hexo 部分默许配置

进入 hexo_blog 目录后,重要有以下文件。

-rw-r–r– 1 benjisong 1049089 1619 Feb 24 14:45 _config.yml-rw-r–r–
1 benjisong 1049089  174 Feb 24 13:51 db.jsondrwxr-xr-x 1 benjisong
1049089    0 Feb 24 12:16 node_modules-rw-r–r– 1 benjisong 1049089 
484 Feb 24 12:16 package.jsondrwxr-xr-x 1 benjisong 1049089    0 Feb 24
13:50 publicdrwxr-xr-x 1 benjisong 1049089    0 Feb 24 12:08
scaffoldsdrwxr-xr-x 1 benjisong 1049089    0 Feb 24 12:13
sourcedrwxr-xr-x 1 benjisong 1049089    0 Feb 24 12:08 themes

其中,_config.yml 为 Hexo 的主配置文件。我们第3修改博客的 ULacrosseL 地址。

# URL## If your site is put in a subdirectory, set url as
” and root as ‘/child/’url:
# 没有绑定域名时填写服务器的实际 IP 地址。root: /permalink:
:year/:month/:day/:title/permalink_defaults:

接下来,修改 default_layout,该字段位于在 Writing 部分。将其从 post
修改为 draft
,表示每篇博文暗中认可都以草稿,必须透过发表之后才能在博客站点上访问。

# Writingnew_post_name: :title.md # File name of new
postsdefault_layout: draft # 原来的值是 posttitlecase: false #
Transform title into titlecase

近期保留并脱离文件。在 3.3 部分继续拓展配置。

3.2. 新建博客草稿并公布

那边大概演示通过 Hexo 新建博文草稿,并发布的经过。

施行如下命令,创设第壹篇博文。

hexo new first-post

你会面到类似如下输出:

INFO  Created:
~\Workspace\Git\hexo_blog\source\_drafts\first-post.md

在该地通过祥和深谙的编辑器,编辑博文。那里,我们把本文的情节写入第贰篇博客中。

title: 在 Ubuntu 14.04 服务器上安顿 Hexo 博客tags:  – Ubuntu  –
Hexocategories:  – Hexocomments: truedate: 2017-02-24 15:31:00—##
以下为 马克down 小说正文。

然后,通过如下命令公布博客:

hexo publish first-post

出口接近上边那样:

INFO  Published:
~\Workspace\Git\hexo_blog\source\_posts\first-post.md

博客推送到服务器之后,就能够在网站上访问了。

3.3 通过 Git 部署

到了这一步,能够说万事俱备,只欠西风了。这几个南风,正是通过 Git 将 Hexo
生成的静态内容推送到服务器。

继续编辑 _config.yml 文件,找到 Deployment 部分,依照如下情状修改:

deploy:    type: git    repo: ubuntu@CVM
云服务器的IP地址:/var/repo/hexo_static    branch: master

保留并脱离文件。

从此以往,供给设置一个 Hexo 包,负责将博客所需的静态内容发送到设置好的 Git
仓库。

npm install hexo-deployer-git –save

设置好后能够测试计划:

hexo generate && hexo deploy

里头恐怕会提醒输入 ubuntu 用户的报到密码(假如没有安装 SSH
登录)。成功之后的出口大约如下:

… create mode 100644 tags/Node-js/index.html create mode 100644
tags/Ubuntu/index.htmlBranch master set up to track remote branch master
from ubuntu@139.199.170.173:/var/repo/hexo_static.To
139.199.170.173:/var/repo/hexo_static * [new branch]      HEAD ->
masterINFO  Deploy done: git

最近,大家就能够在浏览器中打开
139.199.170.173,即可看到本身的博客网站了。

大家发现,Hexo 对 blockquote 标签的体裁并不太赏心悦目,须求延续再调优。

  1. 经过镜像快捷布署

正文纵然将 Hexo
博客的大概铺排进程总之地列出,可是对于一些初学用户来说也许还会显得比较复杂。怎么着使用
CVM
云服务器提供商(即腾讯云)的任何服务,连忙让别的用户不必经过位置的手续,飞快实行配备呢?

在云总计中,与虚拟机相关的二个定义是镜像(Image)。用户通过镜像,能够一键初始四个布局一模一样的云服务器。大家这一步通过
CVM 的「制作系统镜像」成效,将 Hexo 博客的劳务器端打包。

装进后的镜像,还是能够上传到法定的服务市镇,供全数用户选拔;还足以从来共享给别的用户。

即使有用户期望利用该镜像,可在本文下方评论区留下自身的腾讯云账号(登录时采纳的QQ号或邮箱)bf88必发唯一官网,。

4.1 镜像的应用

镜像中早就设置好了服务端,通过镜像运维 CVM
云服务器之后,读者只须要依据本文第2部分「达成 Hexo
本地配置」中的步骤,设置好当地 Hexo 写作环境的布署地方和服务器
URL等参数即可。

这边有一些必然要留意,由此镜像运营云服务器时,务必重新安装密码或密钥,不然镜像的制我有恐怕轻轻松松地登录你的服务器

并非挑选上图中的方式安装

总结

本文较为完整地介绍了 Hexo 博客的装置及开首化,服务端怎样布置通过 Git
布署等。与其余课程差别,大家没有应用公开的 Github
等第③方服务,而是一直在服务器上创立了私有仓库。然后,通过 Git 钩子,将
Hexo 生成的博客静态文件,连忙地推送到 Web 服务的托管目录。

出于 Hexo 是运用 Node.js
开发的,恐怕对于别的语言的学习者来说吸重力十分的小,因为一连自主一回开发难度较高。因而,后续作者还将介绍任何语言的博客引擎,如用
Python 编写的 Lektor 和用 PHP 编写的 WordPress 等。

敬请期待。

小说来源腾讯云技术社区

(埋文字链https://www.qcloud.com/community/article/241080001487926962

推介大家关切腾讯云技术社区微信公众号:QcloudCommunity

*
*

  1. 在Ali云服务器上制造git远程仓库

  2. 运用Hexo建立博客

网上有很多用hexo搭博客的文章都只讲进程,有时照着执行三遍完全不精晓本身在干什么,而且报错了有史以来不知晓是何等难点。今日用hexo搭了三个博客主页,心神不定遇到不少难题,所以打算把全体工艺流程和踩过的坑记录下来。
其实参报考博士硕士客已经写得很好了,本文具体写一下实施中本人的操作,依旧有点改动的。
服务器:ubuntu
本地:mac os

本文介绍一种在Ubuntu服务器上安顿Hexo博客的粗略方法。

壹 、服务器相关配置

本文使用hexo在地头转移静态文件,然后将静态文件提交到个人服务器的git仓库,最终用Nginx提供web服务的法门。

1.总体搭建流程:

bf88必发唯一官网 1

image.png

预备干活

首先根据hexo官方文书档案在地点安装好Node.js、git。

1、Nginx配置

Nginx平常配备三个虚拟主机来存放在静态文件即可。

server
     {
         listen 80;
         #listen [::]:80;
         server_name sjzlai.qicunshan.com ;
         index index.html index.htm index.php default.html default.htm default.php;
         root  /home/wwwroot/blog.qicunshan.com/blog;

         #include other.conf;
         #error_page   404   /404.html;

         # Deny access to PHP files in specific directory
         #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

         include enable-php.conf;

         location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
         {
             expires      30d;
         }

         location ~ .*\.(js|css)?$
         {
             expires      12h;
         }

         location ~ /.well-known {
             allow all;
         }

         location ~ /\.
         {
             deny all;
         }

         access_log  /home/wwwlogs/blog.qicunshan.com.log;
     }

急需留意的是:

  • git用户的权杖;

  • 虚拟主机路径,且暗许主页是index.html。

2.服务器环境搭建:

地方Hexo安装及最先化

hexo-cli是Hexo的命令行工具,可用于急忙新建、宣布、布置博客;hexo-server是Hexo的内建服务器,可用以布署前的预览和测试。-g
选项,表示全局安装。

npm install hexo-cli hexo-server -g

推行下列命令,Hexo将会在钦点文件夹中新建所要求的公文。

hexo init <folder>
cd <folder>
npm i

2、创建git仓库

    #创建仓库目录
    mkdir blog.git
    #进入仓库目录
    cd blog.git
    #创建仓库
    git init --bare

始建完后可以应用上边发号施令测试一下库房地址,克隆成功验证没有毛病。

git clone 仓库地址

2-1.安装git 和 NodeJS(ubuntu环境)

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs​ 

参照NODEJS官方文书档案:https://nodejs.org/en/download/package-manager/

在_config.yml中期维修改配置

参考官网证实随意布署

一些建议配置
default_layout: draft  // 该字段位于在Writing部分。将其从post修改为draft,表示每篇博文默认都是草稿,必须经过发布之后才能在博客站点上访问。

3、Git hooks配置

  • 新建脚本,使git
    hooks每一趟push达成之后,将仓库中的静态文件复制到Nginx对应的虚拟主机中;

 #新建脚本
 vim post-receive

2-2 创建git用户

adduser git
chmod 740 /etc/sudoers
vim /etc/sudoers 

找到以下内容

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL 

在下边添加一行(能够复制过来直接改,小心打错,打错就坑了)

git ALL=(ALL) ALL

封存退出后改回权限

chmod 400 /etc/sudoers

紧接着设置Git用户的密码,

#需要root权限
sudo passwd git​ 

切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys
文件,并予以相应的权柄

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys

#然后将电脑中执行 cat ~/.ssh/id_rsa.pub | pbcopy ,将公钥复制粘贴到authorized_keys
chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh 

然后就能够推行ssh 命令测试是还是不是能够防密登录

ssh -v git@SERVER​ 

小规模试制牛刀——新建博客草稿并揭发

举行如下命令,成立一篇博文

hexo new <title>   # <title>为自定义的文章标题

在该地用编辑器编辑生成的.md文件,如:

---
layout: default_layout
title: 汉诺塔问题
date: 2017-08-01 22:51:09
tags: 递归
---

### 以下为正文

保留后公布(default_layout为draft时)

hexo publish <filename>

若文件default_layout为post,或文件保留在
./source/_posts目录下,直接实施

hexo generate

执行以下命令,运营服务器。打开浏览器即可在地面看到自身刚揭橥的小说,暗中认可情况下,访问网址为:
http://localhost:4000/。

hexo server
本子内容如下:
#!/bin/bash -l
#git仓库目录
GIT_REPO=/var/git/blog.git
#临时文件目录
TMP_GIT_CLONE=/var/git/tmp/blog
#虚拟主机目录
PUBLIC_WWW=/home/wwwroot/blog.qicunshan.com
rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE} ${PUBLIC_WWW}
  • git用户关于post-receive脚本及内容的权位、虚拟主机的权杖:

    #赋予文件、文件夹权限
    chmod 777 post-receive
    chmod 777 -R /var/git/tmp
    chmod 777 -R /home/wwwroot/blog.qicunshan.com
    #赋予git用户权限
    chown git:git -R /var/git/tmp
    chown git:git -R /home/wwwroot/blog.qicunshan.com

3 nginx的安装与布局

做到本地端的操作之后,能够早先服务器的布置了。

经过ssh远程登录云服务器后,创建私有Git仓库,并修改目录的全部权和用户权限。

在/var/repo/下,创立3个名为hexo_static的裸仓库(bare repo)。

sudo mkdir /var/repo/
sudo chown -R $USER:$USER /var/repo/
sudo chmod -R 755 /var/repo/
cd /var/repo/
git init --bare hexo_static.git

二、本机Hexo配置

    deploy:
      type: git
      #repo: git@github.com:qicunshan/qicunshan.github.io.git
      repo:
        github: git@github.com:qicunshan/qicunshan.github.io.git
        vps:  git@服务器地址:/home/hexo.git
      branch: master

然后在hexo目录下进行Hexo g -d即可。

3-1安装nginx

参考官方文书档案(http://nginx.org/en/linux\_packages.html)

apt-get update
apt-get install nginx 

配备Nginx托管文件目录

创制/var/www/hexo目录,用于Nginx托管,并修改目录的全数权和权力

sudo mkdir -p /var/www/hexo
sudo chown -R $USER:$USER /var/www/hexo
sudo chmod -R 755 /var/www/hexo

修改Nginx的default设置,将在那之中的root指令指向/var/www/hexo目录。

sudo vim /etc/nginx/sites-available/default

...
server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/hexo; # 需要修改的部分
    index index.html index.htm;
...

封存并脱离文件。
重启 Nginx 服务,使得改动生效

sudo service nginx restart

3-2 启动nginx

$sudo nginx​ 

假设开了防火墙,记得把HTTP 和 HTTPS 端口添加到防火墙允许列表

安顿完结后,访问使用浏览器服务器 ip
,如若能来看nginx界面,表示运维成功。

创建Git钩子

在服务器上的裸仓库hexo_static成立3个钩子,在知足特定条件时将静态HTML文件传送到Web服务器的目录下,即/var/www/hexo。

在自动生成的 hooks 目录下开创一个新的钩文件:

vim /var/repo/hexo_static.git/hooks/post-receive

在该文件中添加两行代码,钦定 Git 的干活树(源代码)和 Git
目录(配置文件等)。

#!/bin/bash

git --work-tree=/var/www/hexo --git-dir=/var/repo/hexo_static.git checkout -f

封存并脱离文件,并让该公文变为可执行文件。

chmod +x /var/repo/hexo_static.git/hooks/post-receive

到现在,服务器端配置基本形成。

安顿虚拟主机

虚拟主机(Virtual
Host)能够在一台服务器上绑定四个域名,架设多少个不等的网站,一般在开发机或然要配置几个小网站的服务器上急需布置虚拟主机。

通过Git部署

由此Git将Hexo生成的静态内容推送到服务器。

接轨编辑_config.yml文件

url: http://<YourDomain>   # 没有绑定域名时填写服务器的实际IP地址。

找到Deployment部分,根据如下处境修改:

deploy:
    type: git
    repo: ubuntu@<IP>:/var/repo/hexo_static
    branch: master

封存并退出文件。

设置一个Hexo包,负责将博客所需的静态内容发送到设置好的Git仓库。

npm install hexo-deployer-git --save

安装好后得以测试陈设:

hexo generate && hexo deploy

马到功成后,就足以在浏览器输入本身的域名/IP访问本身的博客网站了。

事后扩大、修改文章/配置文件/代码后,执行hexo generate && hexo deploy即可知效。

始建新的网站目录

Nginx 默许把网页文件存在 /var/www/html 目录。为了有利于时期,大家在
/var/www/ 目录下为每一种站点成立一个文本夹。

$ sudo mkdir -p /var/www/blog/html
$ sudo chown -R $USER:$USER /var/www/blog/html
$ sudo chmod -R 755 /var/www

在 /var/www/blog/html/ 目录下成立 index.html
文件。写上以下内容,用于测试虚拟主机械运输转意况。

<html>
    <head>
        <title>Welcome to Blog!</title>
    </head>
    <body>
        <h1>Success! The Blog server block is working!</h1>
    </body>
</html> 

3-3创设虚拟主机配置文件

在 /etc/nginx/conf.d/ 创立虚拟主机配置文件 blog.conf

server {
        listen 80;
        listen [::]:80;
        root /var/www/blog/html;
        index index.html index.htm index.nginx-debian.html;
        server_name eliyar.biz www.eliyar.biz;
        location / {
                try_files $uri $uri/ =404;
        }
}  

重启 Nginx 服务器,使服务器设定生效

sudo nginx -s reload 

3-4修改本地host,验证结果

在绑定域名到服务器从前,需求修改本地 host 文件来测试。本地电脑上改动
/etc/hosts 文件。

45.xx.xxx.150 exxxx.xxxz 

能观看以下结果就象征虚拟主机配置成功。

bf88必发唯一官网 2

image.png

4 本地Hexo程序

4-1 初始化hexo博客

第二要安装 hexo-cli,安装hexo-cli 必要 root 权限,使用 sudo 运行

sudo npm install -g hexo-cli 

下一场起首化Hexo程序

cd ~/Documents/code
hexo init blog 

等进行成功之后安装几个插件, hexo-deployer-git 和 hexo-server
,那俩插件的坚守分别是采取Git自动铺排,和地点不难的服务器。
hexo-deployer-git扶助文书档案
hexo-server帮忙文书档案

cd blog
npm install hexo-deployer-git --save
npm install hero-server​ 

4-2. 变动本身的第壹篇文章 hello world !

动用 hexo new <小说名称> 来新建文章,该命令会成成三个.md文件放置在 sources/_posts文件夹。

hexo new "hello Hexo"
vim sources/_posts/hello-hexo.md 

编辑达成之后, 使用hexo g将 .md文件渲染成静态文件,然后运维hexo-server:

hexo g
hexo server 

到现在便得以打开浏览器访问
http://localhost:4000
来查看我们的博客了!

5. 自动化陈设

5-1:服务器上创立git裸库

创设2个裸仓库,裸仓库就是只保留git音信的Repository,
首先切换成git用户确定保证git用户拥有仓库全部权
自然要加 –bare,这样才是一个裸库。

su git
cd ~ 
mkdir blog.git && cd blog.git​
git init --bare 

5-2. 使用 git-hooks 同步网站根目录

在那边大家利用的是
post-receive那几个hook,当git有收发的时候就会调用那个hook。 在 ~/blog.git
裸库的 hooks文件夹中,
新建post-receive文件。

vim ~/blog.git/hooks/post-receive

#!/bin/sh
git --work-tree=/var/www/blog/html checkout -f​ 

保留后,要授予那几个文件可实施权限

chmod +x post-receive​ 

5-3. 安排本地_config.yml,完毕自动化安顿

在本地~/Documents/code​/blog中打开 _config.yml, 找到 deploy

deploy:
    type: git
    repo: git@SERVER:/home/git/blog.git    //<repository url>
    branch: master            //这里填写分支   [branch]
    message: 提交的信息         //自定义提交信息 (默认为 Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }}) 

封存后,尝试将大家刚刚写的”hello hexo”安插到服务器

hexo clean
hexo generate --deploy​ 

访问服务器地址,就足以看看大家写的文章”Hello hexo”,以往写小说只须要:

hexo new "Blog article name"
···写文章
hexo clean && hexo generate --deploy​ 

参考:
https://segmentfault.com/a/1190000005723321
https://eliyar.biz/how\_to\_build\_hexo\_blog/

问题1

vim
~/.ssh/authorized_keys文件手抖写错了造成sudo不可能用了,也无奈改该公文,因为必须sudo了才能改

报错音信:

sudo: parse error in /etc/sudoers near line 23
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin​ 

消除办法:

https://stackoverflow.com/questions/11931840/getting-fatal-this-operation-must-be-run-in-a-work-tree-on-bare-repository
https://stackoverflow.com/questions/4043609/getting-fatal-not-a-git-repository-when-using-post-update-hook-to-execut

问题2

nginx各样配置文件争持一贯调倒霉而且配置文件缺少很多内容,那里完全卸载然后重装了(注意:卸载深谋远虑)
正如可信的卸载消除办法是:root权限下载命令行敲入如下命令:

   rm -rf /etc/nginx/
   rm -rf /usr/sbin/nginx
   rm /usr/share/man/man1/nginx.1.gz
   apt-get remove nginx*

问题3

施行hexo generate –deploy 报错如下图:

bf88必发唯一官网 3

image.png

缘由在于
https://stackoverflow.com/questions/4043609/getting-fatal-not-a-git-repository-when-using-post-update-hook-to-execut
https://stackoverflow.com/questions/10507942/git-checkout-in-post-receive-hook-not-a-git-repository
(没看懂管中窥豹的)
左右本身正是把服务器上的/home/git/hexo.git/hooks/post-receive文件改为:(这里去掉了–git-dir参数配置就好了)

bf88必发唯一官网 4

image.png

问题4.

mac osx 下 hexo DTraceProviderBindings 错误
荒唐提醒:

Error: Cannot find module './build/Release/DTraceProviderBindings'​​

品尝了Stack Overflow的居多答案都并未意义
最终找到链接化解了该难题
https://kikoroc.com/2016/05/04/resolve-hexo-DTraceProviderBindings-MODULE-NOT-FOUND.html

npm uninstall hexo-cli -gnpm install hexo-cli -g​

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图