給 Hexo 提速是個費力的事。多麼良心 GitHub 國內已閹成龜速,心疼開發者一秒。
給 Hexo 提速方案有哪些?從最省錢的說吧。
- 用
hexo-neat
或hexo-all-minifier
等插件壓縮js/css/html/images
等文件。 - 採用圖牀,例如:極簡圖牀 、七牛、又拍雲等。
- CDN 加速,這個通常要收費。
- 國內走 Coding.net,分流加速。
- VPS 直接訪問自己服務器。
壓縮靜態文件會大大增加 hexo g
生成博客時間,假如有 VPS 把這工作交給服務器倒是不錯的選擇。不知阿里雲的 code.aliyun.com 裏自動化工具能否實現免 VPS 自動化。但這也有個問題,生成工作給了服務器,如果執行過程出錯怎麼辦?還得有報錯機制,感覺複雜了。
圖牀爲圖片加速是不錯的選擇,我就用七牛的加速,只需在圖片前加個前綴,就能實現 CDN,贊一個!
CDN 加速,似乎騰迅雲有活動,半年免費。但畢竟收費的服務,而且不知 CDN 緩存問題是否已解決。
Coding.net 是會員才能自定義域名?不考慮了。
對,本文重點是有 VPS 的同學,自己動手豐衣足食。這個方案還一舉解決了 GitHub Pages
不被百度收錄的問題,爬蟲被拒了。在國內用百度的人還是很可觀的哇。
簡單講下思路吧,畢竟很多前輩們已講的夠清楚了。
- 在 VPS 上建
bare
類型 Git 倉庫,用作 Hexo 提交的一個遠程 Repo。例如:/var/repo/zwb.io.git
- 給自己網站建個文件夾。例如:
/var/www/zwb.io
- 修改
Nginx
配Server
指向網站目錄。 - 配 git 鉤子
post-receive
,本地push
上來後,同步到網站目錄/var/www/zwb.io
- 新建個 git 用戶,把 Repo 與網站目錄都給其權限,同時給
post-receive
可執行權限。 - 配置 VPS ssh 與本地 ssh 通信。
- 本地
_config
裏deploy
添加自己 VPS repo 地址。 - 域名解析,指向 VPS IP。
-
把用到的命令,簡單的寫下吧
mkdir /var/repo git init --bare /var/repo/zwb.io.git mkdir /var/www/ mkdir /var/www/zwb.io whereis nginx vim nginx.conf
server { listen 80 default_server; server_name zwb.io wenboz.com; root /var/www/zwb.io; }
-
vim /var/repo/zwb.io.git/hooks/post-receive
#!/bin/sh git --work-tree=/var/www/zwb.io --git-dir=/var/repo/zwb.io.git checkout -f
chmod +x /var/repo/zwb.io.git/hooks/post-receive
-
創建 git user,並賦權限
useradd -d /home/git -m git sudo chown git:git /var/www/zwb.io sudo chown git:git /var/repo/zwb.io.git
-
配置 ssh-key
ssh-keygen -t rsa -f ~/.ssh/id_rsa_vps -C "[email protected]" cat ~/.ssh/id_rsa_vps.pub vim ~/.ssh/config
# two Host test.com HostName yourIp User git IdentityFile ~/.ssh/id_rsa_vps
# 本地 cat ~/.ssh/id_rsa_vps.pub 複製到VPS ~/.ssh/authorized_keys vim /etc/ssh/sshd_config
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PermitRootLogin yes # 允許 root 用戶 SSH 登陸 PasswordAuthentication no # 禁用密碼登陸
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys # 重啓服務 service sshd restart
編輯
_config
,參考:Deployment最後,改下域名指向,完成。
參考
使用 Git Hook 自動部署 Hexo 到個人 VPS
Hexo的Git部署,一行命令部署到GitHub和自己的VPS
Hexo 個人博客部署到 CentOS 個人服務器
linux下ssh公鑰驗證的設置和遠程登錄
一臺電腦綁定兩個github帳號教程
CentOS-6.9 安裝 Nginx