摘要:博客的架構(gòu)先搞明白博客從搭建到自動(dòng)發(fā)布的架構(gòu),才能更好的理解我們每一步進(jìn)行的操作。整個(gè)搭建流程第一部分服務(wù)器環(huán)境搭建,包括安裝配置創(chuàng)建用戶。在裸庫的文件夾中,新建文件。
1. 博客的架構(gòu)
先搞明白Hexo博客從搭建到自動(dòng)發(fā)布的架構(gòu),才能更好的理解我們每一步進(jìn)行的操作。
不然只跟著步驟過了一遍,卻不知道為什么這么做。
首先看這張架構(gòu)圖:
整個(gè)流程就是本地將 *.md 渲染成靜態(tài)文件,然后Git推送到服務(wù)器的repository,服務(wù)器再通過 git-hooks 同步網(wǎng)站根目錄。
2. 整個(gè)搭建流程第一部分: 服務(wù)器環(huán)境搭建,包括安裝 Git 、Nginx配置 、創(chuàng)建 git 用戶 。
第二部分: 本地Hexo初始化, 包括安裝 NodeJS 、hexo-cli, 生成本地靜態(tài)網(wǎng)站
第三部分: 使用Git自動(dòng)化部署發(fā)布博客
3. 服務(wù)器環(huán)境搭建 3-1.安裝Git和NodeJS (CentOS 環(huán)境)yum install git #安裝NodeJS curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
NodeJS 安裝可以參考: Linux安裝NodeJS
3-2. 創(chuàng)建git用戶adduser git chmod 740 /etc/sudoers vim /etc/sudoers
找到以下內(nèi)容
## Allow root to run any commands anywhere root ALL=(ALL) ALL
在下面添加一行
git ALL=(ALL) ALL
保存退出后改回權(quán)限
chmod 400 /etc/sudoers
隨后設(shè)置Git用戶的密碼,
#需要root權(quán)限 sudo passwd git
切換至git用戶,創(chuàng)建 ~/.ssh 文件夾和 ~/.ssh/authorized_keys 文件,并賦予相應(yīng)的權(quán)限
su git mkdir ~/.ssh vim ~/.ssh/authorized_keys #然后將電腦中執(zhí)行 cat ~/.ssh/id_rsa.pub | pbcopy ,將公鑰復(fù)制粘貼到authorized_keys chmod 600 ~/.ssh/authorzied_keys chmod 700 ~/.ssh
然后就可以執(zhí)行ssh 命令測(cè)試是否可以免密登錄
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; #這里要改成網(wǎng)站的根目錄 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 權(quán)限,使用 sudo 運(yùn)行
sudo npm install -g hexo-cli
然后初始化Hexo程序
cd ~/Documents/code hexo init blog
等執(zhí)行成功以后安裝兩個(gè)插件, hexo-deployer-git 和 hexo-server ,這倆插件的作用分別是使用Git自動(dòng)部署,和本地簡(jiǎn)單的服務(wù)器。
hexo-deployer-git幫助文檔
hexo-server幫助文檔
cd blog npm install hexo-deployer-git --save npm install hero-server4-2. 生成自己的第一篇文章 hello world !
使用 hexo new <文章名稱> 來新建文章,該命令會(huì)成成一個(gè) .md文件放置在 sources/_posts文件夾。
hexo new "hello Hexo" vim sources/_posts/hello-hexo.md
編輯完畢以后, 使用hexo g將 .md文件渲染成靜態(tài)文件,然后啟動(dòng)hexo-server:
hexo g hexo server
現(xiàn)在便可以打開瀏覽器訪問 http://localhost:4000 來查看我們的博客了!
5. 自動(dòng)化部署 5-1:服務(wù)器上建立git裸庫創(chuàng)建一個(gè)裸倉庫,裸倉庫就是只保存git信息的Repository, 首先切換到git用戶確保git用戶擁有倉庫所有權(quán)
一定要加 --bare,這樣才是一個(gè)裸庫。
su git cd ~ git init --bare blog.git5-2. 使用 git-hooks 同步網(wǎng)站根目錄
在這里我們使用的是 post-receive這個(gè)鉤子,當(dāng)git有收發(fā)的時(shí)候就會(huì)調(diào)用這個(gè)鉤子。 在 ~/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
保存后,要賦予這個(gè)文件可執(zhí)行權(quán)限
chmod +x post-receive5-3. 配置_config.yml,完成自動(dòng)化部署
然后打開 _config.yml, 找到 deploy
deploy: type: git repo: git@SERVER:/home/git/blog.git //branch: master //這里填寫分支 [branch] message: 提交的信息 //自定義提交信息 (默認(rèn)為 Site updated: {{ now("YYYY-MM-DD HH:mm:ss") }})
保存后,嘗試將我們剛才寫的"hello hexo"部署到服務(wù)器
hexo clean hexo generate --deploy
訪問服務(wù)器地址,就可以看到我們寫的文章"Hello hexo",以后寫文章只需要:
hexo new "Blog article name" ···寫文章 hexo clean && hexo generate --deploy
博客就更新咯!~
參考資料:使用 Git Hook 自動(dòng)部署 Hexo 到個(gè)人 VPS
Hexo 文檔
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39301.html
摘要:寫在開始一開始將自己部署到,結(jié)果發(fā)現(xiàn)打開頁面速度有點(diǎn)慢,然后又將其同時(shí)部署到實(shí)現(xiàn)雙線路訪問,國(guó)內(nèi)解析記錄到,國(guó)外解析到,這樣確實(shí)網(wǎng)站的速度能提高不少,但是國(guó)內(nèi)訪問因?yàn)槭墙?jīng)過,所以打開網(wǎng)站會(huì)有廣告,這點(diǎn)不能容忍,于是想到自己的服務(wù)器也還空閑著 寫在開始 一開始將自己hexo部署到github,結(jié)果發(fā)現(xiàn)打開頁面速度有點(diǎn)慢,然后又將其同時(shí)部署到coding,實(shí)現(xiàn)雙線路訪問,國(guó)內(nèi)解析記錄到co...
原文鏈接 隨著Vateral主題的開發(fā)接近了尾聲,在對(duì)主題速度優(yōu)化的時(shí)候發(fā)現(xiàn)之前用的githubpage問題多多:首先就是因?yàn)樵趪?guó)內(nèi)的原因,訪問速度本身就很慢,曾經(jīng)有次加載一張16kb的圖標(biāo)時(shí)間耗費(fèi)了26s?。??其次,在對(duì)資源做CDN托管加速時(shí),域名是需要備案的,顯然githubpage也是做不了的;所以果斷舍棄了這個(gè)把hexo搭建到了我的阿里云服務(wù)器上 總體來說還是比把hexo搭建到github...
摘要:原文地址作為一個(gè)天天造的人,必然要經(jīng)常訪問谷歌等網(wǎng)站,所以前些日子買了自己搭了梯子。今天就跟大家分享一下,如何使用搭建個(gè)人博客。創(chuàng)建用戶,建立裸庫,配置。 原文地址:https://www.xksblog.top/use-V... 作為一個(gè)天天造BUG的人,必然要經(jīng)常訪問谷歌等網(wǎng)站,所以前些日子買了VPS自己搭了梯子。但如果只是用VPS來搭梯子那就太浪費(fèi)了,所以又折騰了一天,把自己之...
摘要:下面貼上棧長(zhǎng)博客的地址,也是技術(shù)棧的官方博客地址今天分享一下,如何從開始搭建一個(gè)自己的技術(shù)博客,基于棧長(zhǎng)的博客。的國(guó)內(nèi)訪問不是很快,這里推薦使用自己搭建國(guó)內(nèi)的云服務(wù)器,使用搭建靜態(tài)服務(wù)。 技術(shù)博客的選型有很多種,如:博客園、CSDN、開源中國(guó)、簡(jiǎn)書、知乎等……都可以用來寫文章,形成自己的技術(shù)博客。 上面的博客都是第三方的,有沒有方式搭建自己的服務(wù)器、自己的域名的博客呢?棧長(zhǎng)知道的成熟方...
閱讀 2749·2023-04-25 22:15
閱讀 1815·2021-11-19 09:40
閱讀 2160·2021-09-30 09:48
閱讀 3235·2021-09-03 10:36
閱讀 2036·2021-08-30 09:48
閱讀 1870·2021-08-24 10:00
閱讀 2739·2019-08-30 15:54
閱讀 713·2019-08-30 15:54