中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

將Hexo博客部署到云主機

發布時間:2020-06-20 22:37:15 來源:網絡 閱讀:377 作者:Fundebug 欄目:云計算

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

這是一個憂傷的故事

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

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

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

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

0. 準備工作

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

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

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

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

1. 安裝 git 和 nginx

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

2. 配置 Nginx

/var/www/blog目錄用于放置生成的靜態文件
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 系統換成了 systemd,因此使用 systemctl 命令來重啟 nginx。

systemctl restart nginx

3. 配置 Git Hooks

創建 Git 裸倉庫

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

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

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

vim ./hooks/post-receive

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

#!/bin/bash

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

post-receive腳本執行權限

chmod +x ./hooks/post-receive

4. 部署 Hexo 博客

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

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

hexo d

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

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

參考鏈接:

  • 利用 GIT HOOKS 部署 HEXO 到 VPS

關于Fundebug

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

將Hexo博客部署到云主機

版權聲明

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建阳市| 容城县| 九龙县| 师宗县| 浙江省| 库车县| 上饶县| 汉中市| 枞阳县| 琼结县| 苗栗市| 辽阳市| 确山县| 蒲城县| 健康| 朝阳市| 梅河口市| 濉溪县| 兰溪市| 蓬安县| 吴旗县| 扶绥县| 滨州市| 泸溪县| 如皋市| 稷山县| 墨玉县| 东乡族自治县| 德保县| 安阳市| 广平县| 边坝县| 常宁市| 白银市| 连山| 武宣县| 青龙| 分宜县| 湄潭县| 故城县| 西峡县|