使用 VPS 讓 Hexo 博客快的飛起

給 Hexo 提速是個費力的事。多麼良心 GitHub 國內已閹成龜速,心疼開發者一秒。

給 Hexo 提速方案有哪些?從最省錢的說吧。

  1. hexo-neathexo-all-minifier 等插件壓縮 js/css/html/images 等文件。

  2. 採用圖牀,例如:極簡圖牀 、七牛、又拍雲等。

  3. CDN 加速,這個通常要收費。

  4. 國內走 Coding.net,分流加速。

  5. VPS 直接訪問自己服務器。

壓縮靜態文件會大大增加 hexo g 生成博客時間,假如有 VPS 把這工作交給服務器倒是不錯的選擇。不知阿里雲的 code.aliyun.com 裏自動化工具能否實現免 VPS 自動化。但這也有個問題,生成工作給了服務器,如果執行過程出錯怎麼辦?還得有報錯機制,感覺複雜了。

圖牀爲圖片加速是不錯的選擇,我就用七牛的加速,只需在圖片前加個前綴,就能實現 CDN,贊一個!

CDN 加速,似乎騰迅雲有活動,半年免費。但畢竟收費的服務,而且不知 CDN 緩存問題是否已解決。

Coding.net 是會員才能自定義域名?不考慮了。

對,本文重點是有 VPS 的同學,自己動手豐衣足食。這個方案還一舉解決了 GitHub Pages 不被百度收錄的問題,爬蟲被拒了。在國內用百度的人還是很可觀的哇。


簡單講下思路吧,畢竟很多前輩們已講的夠清楚了。

  1. 在 VPS 上建 bare 類型 Git 倉庫,用作 Hexo 提交的一個遠程 Repo。例如:/var/repo/zwb.io.git

  2. 給自己網站建個文件夾。例如:/var/www/zwb.io

  3. 修改 NginxServer 指向網站目錄。

  4. 配 git 鉤子 post-receive,本地 push 上來後,同步到網站目錄 /var/www/zwb.io

  5. 新建個 git 用戶,把 Repo 與網站目錄都給其權限,同時給 post-receive 可執行權限。

  6. 配置 VPS ssh 與本地 ssh 通信。

  7. 本地 _configdeploy 添加自己 VPS repo 地址。

  8. 域名解析,指向 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

  • 最後,改下域名指向,完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章