摘要:博客的架构先搞明白博客从搭建到自动发布的架构,才能更好的理解我们每一步进行的操作。整个搭建流程第一部分服务器环境搭建,包括安装配置创建用户。在裸库的文件夹中,新建文件。
1. 博客的架构
先搞明白Hexo博客从搭建到自动发布的架构,才能更好的理解我们每一步进行的操作。
不然只跟着步骤过了一遍,却不知道为什么这么做。
首先看这张架构图:
整个流程就是本地将 *.md 渲染成静态文件,然后Git推送到服务器的repository,服务器再通过 git-hooks 同步网站根目录。
2. 整个搭建流程第一部分: 服务器环境搭建,包括安装 Git 、Nginx配置 、创建 git 用户 。
第二部分: 本地Hexo初始化, 包括安装 NodeJS 、hexo-cli, 生成本地静态网站
第三部分: 使用Git自动化部署发布博客
3. 服务器环境搭建 3-1.安装Git和NodeJS (CentOS 环境)yum install git #安装NodeJS curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
NodeJS 安装可以参考: Linux安装NodeJS
3-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
至此,Git用户添加完成
3-3. Nginx安装和配置我是用的是lnmp 一键安装包,nginx安装教程一大堆,就不再叙述。主要看nginx配置。
找到nginx的配置文件,修改配置如下:
server { listen 80; #listen [::]:80; server_name www.seekbetter.me seekbetter.me; index index.html index.htm index.php default.html default.htm default.php; #这里要改成网站的根目录 root /path/to/www; include other.conf; #error_page 404 /404.html; location ~ .*.(ico|gif|jpg|jpeg|png|bmp|swf)$ { access_log off; expires 1d; } location ~ .*.(js|css|txt|xml)?$ { access_log off; expires 12h; } location / { try_files $uri $uri/ =404; } access_log /home/wwwlogs/blog.log access; }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-server4-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裸库创建一个裸仓库,裸仓库就是只保存git信息的Repository, 首先切换到git用户确保git用户拥有仓库所有权
一定要加 --bare,这样才是一个裸库。
su git cd ~ git init --bare blog.git5-2. 使用 git-hooks 同步网站根目录
在这里我们使用的是 post-receive这个钩子,当git有收发的时候就会调用这个钩子。 在 ~/blog.git 裸库的 hooks文件夹中,
新建post-receive文件。
vim ~/blog.git/hooks/post-receive #!/bin/sh git --work-tree=/path/to/www --git-dir=~/blog.git checkout -f
保存后,要赋予这个文件可执行权限
chmod +x post-receive5-3. 配置_config.yml,完成自动化部署
然后打开 _config.yml, 找到 deploy
deploy: type: git repo: git@SERVER:/home/git/blog.git //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
博客就更新咯!~
参考资料:使用 Git Hook 自动部署 Hexo 到个人 VPS
Hexo 文档
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/39301.html
摘要:写在开始一开始将自己部署到,结果发现打开页面速度有点慢,然后又将其同时部署到实现双线路访问,国内解析记录到,国外解析到,这样确实网站的速度能提高不少,但是国内访问因为是经过,所以打开网站会有广告,这点不能容忍,于是想到自己的服务器也还空闲着 写在开始 一开始将自己hexo部署到github,结果发现打开页面速度有点慢,然后又将其同时部署到coding,实现双线路访问,国内解析记录到co...
原文链接 随着Vateral主题的开发接近了尾声,在对主题速度优化的时候发现之前用的githubpage问题多多:首先就是因为在国内的原因,访问速度本身就很慢,曾经有次加载一张16kb的图标时间耗费了26s!!?其次,在对资源做CDN托管加速时,域名是需要备案的,显然githubpage也是做不了的;所以果断舍弃了这个把hexo搭建到了我的阿里云服务器上 总体来说还是比把hexo搭建到github...
摘要:原文地址作为一个天天造的人,必然要经常访问谷歌等网站,所以前些日子买了自己搭了梯子。今天就跟大家分享一下,如何使用搭建个人博客。创建用户,建立裸库,配置。 原文地址:https://www.xksblog.top/use-V... 作为一个天天造BUG的人,必然要经常访问谷歌等网站,所以前些日子买了VPS自己搭了梯子。但如果只是用VPS来搭梯子那就太浪费了,所以又折腾了一天,把自己之...
摘要:下面贴上栈长博客的地址,也是技术栈的官方博客地址今天分享一下,如何从开始搭建一个自己的技术博客,基于栈长的博客。的国内访问不是很快,这里推荐使用自己搭建国内的云服务器,使用搭建静态服务。 技术博客的选型有很多种,如:博客园、CSDN、开源中国、简书、知乎等……都可以用来写文章,形成自己的技术博客。 上面的博客都是第三方的,有没有方式搭建自己的服务器、自己的域名的博客呢?栈长知道的成熟方...
阅读 2450·2023-04-25 22:15
阅读 1760·2021-11-19 09:40
阅读 2114·2021-09-30 09:48
阅读 3191·2021-09-03 10:36
阅读 2009·2021-08-30 09:48
阅读 1826·2021-08-24 10:00
阅读 2707·2019-08-30 15:54
阅读 673·2019-08-30 15:54