將Hexo博客部署到云主機(jī)

摘要:云主機(jī)上搭建一個 git 裸倉庫,然后使用 nginx 作為網(wǎng)頁服務(wù)器,就可以輕松將 Hexo 博客通過 git 部署到云主機(jī)上。

創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、海西網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為海西等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

這是一個憂傷的故事

我的博客KiwenLau之前部署在Coding Pages上,挺不錯的,還可以一鍵啟用 HTTPS。作為一個喜歡折騰的人,我突然打算使用 cdn 加速一下訪問速度,然而,國內(nèi)的 CDN 服務(wù)要求網(wǎng)站必須備案。特意郵件問了 Coding 的客服,看來他們近期是不打算支持備案的,于是我就不得不考慮弄個云主機(jī)來玩玩了。

后來,Coding Pages忽然添加了跳轉(zhuǎn)頁面,也就是說訪問我的博客的話,會先彈出 5 秒鐘的 Coding 廣告頁面。買個 Coding 年費(fèi) 199 的會員就可以去掉,也不算貴,畢竟占著人家的資源。然而,我還琢磨著備案后用 CDN 呢...

于是,我調(diào)研了一下各個云服務(wù)的價格,1 核 1G 的云主機(jī)一年大概都是 600+,比 Coding 會員貴了不少。不過騰訊云最近在搞采購節(jié),1 核 1G 的云主機(jī)一年只要 238,果斷買了!

然而,備案這事貌似要折騰很久......此處省略 1 萬字。

0. 準(zhǔn)備工作

我的云主機(jī)的操作系統(tǒng)是Ubuntu Server 16.04.1 LTS 64 位。不妨假設(shè)它的 IP 地址是152.92.13.78(我當(dāng)然不會告訴你真實(shí) IP),你需要做的第一步就是配置SSH 公鑰登陸,這樣 Hexo 通過 git 部署博客時就不需要輸入密碼了。

# SSH公鑰登陸將不需要輸入密碼
ssh root@152.92.13.78

為了省事,我將直接使用 root 用戶,這是不符合安全規(guī)范的。但是,一方面我只是為了部署博客,不擔(dān)心***干壞事;另一方面,我也做了必要的安全防范,比如配置騰訊云安全組,禁止 SSH 密碼登陸以及配置 UFW 防火墻。

這篇的博客參考了利用 GIT HOOKS 部署 HEXO 到 vps,原文圖文并茂。我做了  一些優(yōu)化,例如使用 root 用戶,簡化 nginx 配置文件,簡化 post-receive 腳本,同時簡單地介紹一下原理。

1. 安裝 git 和 nginx

apt-get update
apt-get install git-core nginx

2. 配置 Nginx

/var/www/blog目錄用于放置生成的靜態(tài)文件
mkdir /var/www/blog
編寫 nginx 配置文件
vim /etc/nginx/conf.d/blog.conf

由于我的備案還沒弄好,還不能使用 80 端口,所以暫時使用 8080 端口部署博客。

server
{
    listen 8080;
    root /var/www/blog;
}
重啟 nginx

ubuntu 16.04 的 init 系統(tǒng)換成了 systemd,因此使用 systemctl 命令來重啟 nginx。

systemctl restart nginx

3. 配置 Git Hooks

創(chuàng)建 Git 裸倉庫

blog.git作為遠(yuǎn)程 Git 倉庫,Hexo 在本地生成的博客靜態(tài)文件可以通過 push 與其同步。

mkdir ~/blog.git && cd ~/blog.git
git init --bare
配置 Hooks 腳本

post-receive腳本將在blog.git倉庫接收到 push 時執(zhí)行。

vim ./hooks/post-receive

腳本非常簡單,刪除原有的/var/www/blog目錄,然后從blog.git倉庫 clone 新的博客靜態(tài)文件。

#!/bin/bash

rm -rf /var/www/blog
git clone /root/blog.git /var/www/blog

post-receive腳本執(zhí)行權(quán)限

chmod +x ./hooks/post-receive

4. 部署 Hexo 博客

修改_config.yml
deploy:
    type: git
    repo: root@152.92.13.78:blog.git
部署博客

hexo 先生成新的博客靜態(tài)文件,然后通過 git 將其同步到云主機(jī)的blog.git倉庫。

hexo d

然后通過http://152.92.13.78:8080/即可訪問博客。

備案之后,將 ngnix 端口改為 80,把 server_name 設(shè)為域名,然后修改 DNS 解析到云主機(jī)就好了。

參考鏈接:

  • 利用 GIT HOOKS 部署 HEXO 到 VPS

關(guān)于Fundebug

Fundebug專注于JavaScript、微信小程序、微信小游戲、支付寶小程序、React Native、Node.js和Java實(shí)時BUG監(jiān)控。 自從2016年雙十一正式上線,F(xiàn)undebug累計處理了7億+錯誤事件,得到了Google、360、金山軟件、百姓網(wǎng)等眾多知名用戶的認(rèn)可。歡迎免費(fèi)試用!

將Hexo博客部署到云主機(jī)

版權(quán)聲明

轉(zhuǎn)載時請注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2017/05/18/deploy-hexo-on-cloud/

本文標(biāo)題:將Hexo博客部署到云主機(jī)
本文來源:http://bm7419.com/article24/jddgce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、外貿(mào)建站、全網(wǎng)營銷推廣、品牌網(wǎng)站建設(shè)、網(wǎng)站策劃響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)