专栏首页饶文津的专栏【腾讯云的1001种玩法】Hello Hexo之静态博客搭建+自动部署
原创

【腾讯云的1001种玩法】Hello Hexo之静态博客搭建+自动部署

在腾讯云的CentOS7云主机上部署一个Hexo博客,马上让你写博客的姿势变得更加极客。

搭建流程

先明确一下它的运作流程:本地有个 hexo 程序,里面包含了 public 文件夹,sources 文件夹,hexo 将 sources 里的*.md文件渲染为静态的 html 文件放到 public 下,然后我们用git推送到服务器的repository,服务器用git hooks把仓库里的文件同步到网站根目录,而 nginx 的作用就是反向代理。

  • 服务器环境:安装git、nginx、创建git用户
  • 本地搭建Hexo环境:安装NodeJs、hexo-cli,生成本地静态网站
  • 使用git自动化部署发布博客

一、安装git、创建git用户

在服务器上用root权限运行下面命令

yum install git
adduser git

二、nginx安装和配置

yum install nginx
systemctl start nginx
systemctl enable nginx.service # 设置为开机启动

修改nginx的配置文件

vim /etc/nginx/nginx.conf

server那块改为

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  ffflipped.cn; #你的域名
        index index.html;
        root         /usr/www;#网站根目录

        location / {
                try_files $uri $uri/ =404;
        }

        location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
                access_log off; log_not_found off; expires max;
        }
}

然后执行

cd /usr
mkdir www
chmod -R 777 /usr/www #设置权限

作为服务器上的网站根目录。

三、本地搭建Hexo环境

安装hexo-cli(windows用git bash运行命令):

sudo npm install -g hexo-cli

初始化hexo,比如我要在~/blog下搭建博客

cd ~
hexo init blog

之后继续安装hexo-deployer-githexo-server,一个用于git自动部署,一个用于本地简单的服务器。

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

执行:

hexo g #或者hexo generate
hexo s #或者hexo server

就可以访问http://localhost:4000看到博客了。

四、自动化部署

自动化部署就是可以不用在服务器上执行操作,只要本地 git 推送上去,服务器就会通过git hooks 自动把内容同步到网站根目录。

ssh登录

为了以后每次发布时不用输入密码,我们需要创建证书登录,如果自己电脑里没有公钥(我们的公钥在这里:~/.ssh/id_rsa.pub),则创建公钥:

ssh-keygen -t rsa -C "xx@xx.com"

有则跳过上面这步,然后复制公钥到服务器,下面这个命令就是把公钥内容读入剪贴板。

pbcopy < ~/.ssh/id_rsa.pub

切换为git用户,添加公钥后记得要赋予文件相应权限:

su git
cd ~
mkdir .ssh
vim .ssh/authorized_keys
#粘贴然后保存
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

在自己电脑终端输入ssh git@你的域名验证是否配置好ssh登录。

新建仓库,配置hooks

接着上一步(git用户~目录),在服务器上创建一个裸仓库

git init --bare blog.git

然后

vim ~/blog.git/hooks/post-receive
#写入以下内容保存
#!/bin/sh
git --work-tree=/path/to/www --git-dir=~/blog.git checkout -f

再赋予它权限

chmod +x ~/blog.git/hooks/post-receive

本地打开_config.yml,最后面的deploy修改为:

deploy:
    type: git
    repo: git@你的域名:/home/git/blog.git
    branch: master

我们试试能不能自动部署:

hexo clean && hexo g --deploy

现在,打开域名看看吧。

接下来安装主题和配置hexo的其他功能就是后话了。

相关推荐

使用 Github 和 Hexo 快速搭建个人博客

【腾讯云的1001种玩法】利用腾讯云搭建个人博客

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【腾讯云的1001种玩法】征文活动

    腾讯云技术社区「腾云阁」上线以来得到了广大程序员们的支持,为了吸引更多的开发者入驻,现再次举办【腾讯云的1001种玩法】征文活动。只要是与「腾讯云」相关的干货原...

    云加社区
  • 【腾讯云的1001种玩法】如何腾讯云存储上搭建一个hexo博客

    一.选型我要写文章做博客,我对网站的要求是:1.可以绑定域名,2.访问速度快,3.价格非常便宜,4.不需要操心维护,5.更新方便。 目前有4个选择:1.IaaS...

    李鑫
  • 【玩转腾讯云】九.云开发CloudBase快速上手hexo博客

    ① 在产品控制面板中找到云开发CloudBase——立即使用,进入云开发授权开通页面

    一只特立独行的兔先生
  • 【腾讯云的1001种玩法】征文活动获奖名单公布

    腾讯云技术社区「腾云阁」举办【腾讯云的1001种玩法】征文活动吸引了大量程序员们入驻社区。活动期间,一共征集到来自 42 位作者的 83 篇征文。经过评委老师从...

    云加社区
  • 拿什么记录下这魔幻又真实的一年

    当这一年还剩下最后不到一个星期,我们试图将阳光、洪水、暴乱、疫情、蝗灾、山火、贫困拼接成一幅游牧的画卷。虽然这些碎片并不能构成一幅完整的地图。

    云存储
  • 【玩转腾讯云】征文活动获奖名单公布

    由云+社区联合腾讯云免费体验馆及各产品团队举办【玩转腾讯云】征文活动,吸引入驻作者积极参加,非常感谢各位作者的参与。经过评委老师从产品创新性、实用性、可借鉴性、...

    云加社区
  • 【玩转腾讯云】使用Hexo在Cloudbase上搭建自己的静态博客

    Mintimate's Blog:https://www.mintimate.cn

    Mintimate
  • 如何快速搭建 hexo 博客

    本文将简介如何自己的服务器、腾讯云COS及Github Page上部署hexo博客。

    脸滚键盘dj
  • 【玩转腾讯云】用COS+CDN+CI+Hexo+Next+VsCode+智能DNS搭建丝滑的博客

    对于一般的内容而言,使用动态博客较为复杂,需要数据库、运行环境的配合。动态博客的代码也较为复杂,修改代码进行个性化难度较高。

    羽翰尘
  • Mac/Linux/Windows如何从零开始搭建Hexo静态博客并部署到远程平台

    本文同步博客图文( ´▽`):https://www.mintimate.cn/2020/03/19/hexo

    Mintimate
  • 丝滑的博客:基于COS/CDN/CI/Hexo/DNS

    作者介绍 羽瀚尘:研究生在读,喜欢互联网技术,善于使用公有云服务满足现实需求。 目前搭建博客有哪些选择呢? 动态博客:WordPress... 静态博客...

    云存储
  • 说说 Hexo 静态博客框架

    今天给大家最近蛮火的 Hexo 静态博客框架,熟悉明月的都知道明月最近几天一直都在折腾研究 Hexo 静态博客框架的博客站——『明月登楼 Hexo 博客』(he...

    明月云服务
  • 使用hexo和github pages搭建个人博客

    最近自己买了一个腾讯云主机,系统是CentOS7,于是准备自己搭建一个个人技术博客,采用的可选方案有PHP+MYSQL+WordPress的,可以参考搭建 Wo...

    ccf19881030
  • 将Hexo部署到云服务器(使用宝塔面板)

    本来Hexo是部署在GitHub上的(可以看我之前文章Hexo搭建静态博客 - Taitres' Blog包括了Hexo的基本使用),但是访问太慢了,并且想折腾...

    Taitres
  • 手把手教你从零开始搭建个人博客,20 分钟上手

    大家好,我是爱思思爱猫爱技术的老表,最近一直在研究个人博客搭建,目前正在进行的有 Django 个人博客搭建系列,最近了解到还有很多现成的博客搭建框架,准备后面...

    老表
  • 云+社区【玩转腾讯云】征文活动获奖名单公布

    由腾讯云+社区主办的云+社区【玩转腾讯云】征文活动已经圆满顺利的落下帷幕!感谢小伙伴们对云+社区征文活动的支持!接下来,就是期待已久的开奖时刻啦。

    云加社区
  • 基于nodejs的Hexo框架快速搭建静态博客

    我从很早以前开始就有搭建一个博客的想法,最早能够追溯到高中二年级。后来也陆陆续续尝试了搭建一群由静态页面组成的页面体系,后来发现这种页面体系有...

    EatRice
  • 如何将 Hexo 博客部署到云开发静态网站托管

    Hexo 是一个快速、简洁且高效的博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在其他平台上,是搭建博客的首选框架。除了在 Github Pages ...

    腾讯云开发TCB
  • 将 Hexo 个人博客同时部署到 GitHub 和 Coding 上

    关于如何快速搭建自己的个人博客,如何完善自己的个人博客,什么是 GitHub ,如何将自己的博客代码托管到 GitHub 上面等等问题,我之前写过三篇文章已经做...

    compassblog

扫码关注云+社区

领取腾讯云代金券