給 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/shgit --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
# twoHost test.com HostName yourIp User git IdentityFile ~/.ssh/id_rsa_vps
# 本地 cat ~/.ssh/id_rsa_vps.pub 複製到VPS ~/.ssh/authorized_keysvim /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
最後,改下域名指向,完成