Hexo部署在阿里云服务器上

博客的架构

先搞明白Hexo博客从搭建到自动发布的架构,才能更好的理解我们每一步进行的操作。不然只跟着步骤过了一遍,却不知道为什么这么做。


hexo的架构

整个流程就是本地将 *.md 渲染成静态文件,然后Git推送到服务器的repository,服务器再通过 git-hooks 同步网站根目录。

搭建流程

第一步: 安装node.js以及本地Hexo初始化
第二步: 服务器环境搭建,包括安装 GitNginx配置 、创建 git 用户
第三步: 使用Git自动化部署发布博客

本地环境

本地环境我就不介绍了查看下面两篇文章

服务器环境搭建

安装nginx

  • 因为我们是拿nginx做Web服务器,所以我们需要安装部署好nginx,如果没有安装,推荐使用LNMP一键安装包,不过我使用的是宝塔的主机面板管理主机。
  • 我们可以专门为hexo创建一个部署目录,比如我创建了/home/www/hexo文件夹,并把nginx的配置文件nginx.conf中的部署目录改为/home/www/hexo,
    配置文件一般在/usr/local/nginx/conf里;同样可以使用默认目录,nginx的默认目录为/var/www/html,如果使用宝塔的主机面板,则默认的部署目录为/www/wwwroot/hexo

安装Git

yum install git
  • 检查安装信息:git --version

创建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设置权限,编辑/etc/passwd将:git:x:1003:1003:,,,:/home/git:/bin/bash 改成:git:x:1003:1003:,,,:/home/git:/usr/bin/git-shell 这样git就只能使用git-shell而不能使用bash。
  • git服务器打开RSA认证
    vim /etc/ssh/sshd_config
    在sshd_config中开启以下几项:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
  • 随后设置Git用户的密码
#需要root权限
sudo passwd git

配置ssh

切换至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 至此,Git用户添加完成

创建仓库

执行命令:sudo git init --bare hexo.git

使用–bare 参数,Git 就会创建一个裸仓库,裸仓库没有工作区,我们不会在裸仓库上进行操作,它只为共享而存在。

改变 hexo.git 目录的拥有者为git用户:sudo chown -R git:git hexo.git

配置钩子

hexo.git/hooks 目录下新建一个 post-receive 文件,进入cd /home/git/hexo.git/hooks/,编辑这个文件vim post-receive
post-receive 文件中写入如下内容:

#!/bin/bash
git --work-tree=/www/wwwroot/hexo --git-dir=/home/git/hexo.git checkout -f
  • 设置这个文件的可执行权限:chmod +x post-receive
  • 注意,/www/wwwroot/hexo 要换成你自己的部署目录,正如上文所说,我是的配置目录是/www/wwwroot/hexo。其中/home/git/hexo.git是git仓库的位置。上面那句 git 命令可以在我们每次 push 完之后,把部署目录更新到博客的最新生成状态。这样便可以完成达到自动部署的目的了。

下面这种方式我也试过总是提示删除文件夹没有权限

#!/bin/sh
rm -rf /www/wwwroot/hexo
git clone /home/git/hexo.git/ /www/wwwroot/hexo/

还尝试改变权限:chown -R git:git /www/wwwroot/hexo/ 但是就是没有成功也许是我的方法不对,再此记录下。

参考资料

安装Git

在Linux上安装Git:https://www.cnblogs.com/lhbryant/p/6928894.html

部署教程

阿里云VPS搭建自己的的Hexo博客:https://segmentfault.com/a/1190000005723321
Hexo个人博客部署到CentOS个人服务器:https://segmentfault.com/a/1190000010680022
部署Hexo到个人服务器:https://www.huangtengxq.com/2017/08/19/BuildHexoOnVps/
HEXO部署到unbuntu服务器详细指南:http://www.laoyuyu.me/2017/10/10/hexo_deploy_vps/
服务器部署Hexo博客:https://dogorgod.github.io/2017/03/24/%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%A8%E7%BD%B2Hexo%E5%8D%9A%E5%AE%A2/
Hexo博客部署到服务器:https://i.jakeyu.top/2016/12/06/Hexo%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%B9%B6%E8%87%AA%E5%8A%A8%E9%83%A8%E7%BD%B2/
通过Git将Hexo博客部署到服务器:https://www.jianshu.com/p/e03e363713f9
部署Hexo博客到linux云主机并实现自动发布:https://ghui.me/post/2016/07/host-hexo-vps/
将Hexo博客部署到云主机:https://blog.fundebug.com/2017/05/18/deploy-hexo-on-cloud/
配合Travis CI,将Hexo博客自动部署到你的服务器上:https://blog.keep.moe/2015/11/06/hexo-and-travis-ci/
使用Git Hook自动部署Hexo到个人VPS:http://www.swiftyper.com/2016/04/17/deploy-hexo-with-git-hook/
VPS Centos7安装Git服务器,部署Hexo静态博客:https://www.micronbot.com/blog/8.html
在Ubuntu 14.04服务器上部署Hexo博客:https://cloud.tencent.com/developer/article/1004587
阿里云ubuntu部署hexo,并与本地同步,实现自动部署:http://blog.csdn.net/nghuyong/article/details/54430093
阿里云搭建Git服务,实现Hexo自动部署:https://imys.net/20160303/hexo-nginx-auto-deploy.html
hexo博客部署到linux服务器上:https://lvshen9.github.io/2018/01/08/Hexo%E5%8D%9A%E5%AE%A2%E9%83%A8%E7%BD%B2%E5%88%B0Linux%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容