Hexo搭建(VPS)

都說 hexo 是靜態的 Blog,當時不明覺厲= =。後來終於知道了什麼意思......所謂的靜態,其實就是由於你不能改雲端,而是依賴本地數據,而後使用命令將本地數據變成 web 數據再使用瀏覽器進行查看......由於這玩意顯然要在本地處理,因此每次本地修改以後還要上傳到 git 或者是服務器因此看起來麻煩點而已 ......css

Local

Hexo 這個東西的數據所有是本地式的 QwQ,包括主題樣式文章啥的都是的,因此本地很是重要,服務器雲端反而不難搞了。html

Step1

安裝必要工具node

sudo apt install npm
sudo apt install nodejs
npm install hexo-cli -g

Step2

安裝Hexo。nginx

建立一個文件夾,名字自選,使用終端進入這個目錄,接下來的操做後Hexo的相關文件將所有會在裏面(O3O)。git

hexo init
npm install

而後文件夾下的東西基本上就全了,安裝完成,接下來是本地基本操做。web

Step3

Hexo命令。npm

Hexo 的命令行在第一步裏已經安裝好了,那麼接下來注視着你的文件夾內的東西,並使用命令hexo g看看。vim

你會發現多了一個 public 文件夾對不對,那就是對本地數據整合以後將會在瀏覽器上展現的結構,全在裏面的。這時候,你再運行hexo clean試試 -- public 就消失啦!這就是清除緩存,而 g 命令能夠理解爲編譯整合文件獲得緩存。瀏覽器

而後就是新建文章,這裏命令很簡單:hexo new 文章名。而後就會生成文章名.md這樣的玩意= =,那麼文章在哪裏呢?在你裝Hexo文件的目錄的source/_post下,你就會發現它,而後你就能夠直接編輯了。刪除?直接在編輯的那個文件夾裏刪掉文章就行了。緩存

Hexo的另外一個核心命令就是hexo s,它的做用就是在本地展示你的網站,使用這個命令後,在瀏覽器裏打開localhost:4000便可看到效果。

Service

Step1

安裝必要工具。

首先須要將文件傳上來,這裏咱們選擇使用 git ,而後對於網頁展現咱們使用久負盛名的 nginx。

sudo apt install nginx git-core

Step2

Hexo倉庫與權限。

git 傳上來須要有個倉庫,那麼咱們新建一個倉庫,就叫 hexo.git。

mkdir hexo.git
cd hexo.git
git init --bare

而後來到/var/www文件夾下,咱們的網頁就會存放在這裏的某一個文件夾下,這裏咱們建立一個文件夾hexo,而後賦予它操做權限,同時賦予本身權限來操做它。

mkdir hexo
chmod 0755 hexo
chown root:root -R /var/www/hexo

Step3

nginx 與 git 配置。

咱們首先注意到,當咱們將本地網頁文件傳上來以後,咱們可能還要到服務器端操做一番,以可以將網頁文件放到/var/www/hexo下展現,這樣太麻煩了。怎麼辦?很簡單,git自帶一個功能,那就是隻要有文件傳輸它就會執行某個腳本。那麼咱們怎麼作呢?寫個腳本就行了!

vim hexo.git/hooks/post-receive 看你的文件夾建在哪裏吧

向其中輸入:

!/bin/bash

GIT_REPO=~/hexo.git                      # 觸發 hook
TMP_GIT_CLONE=/tmp/hexo                  # 存在 /tmp 下
PUBLIC_WWW=/var/www/hexo                 # 展現網站的目錄
rm -rf ${TMP_GIT_CLONE}                  # 刪除以前內容
git clone $GIT_REPO $TMP_GIT_CLONE       # 將 Git 倉庫上傳的內容複製到/tmp
rm -rf ${PUBLIC_WWW}/*                   # 刪除展現網站的目錄的所有內容
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}  # 將/tmp全部內容複製到網站目錄

保存退出便可。

而後你在瀏覽器裏興奮地輸入你服務器的IP地址,並回車!然而並無成功= =

由於咱們還須要向 nginx 寫入配置,將/var/www/hexo做爲主目錄。

cd /etc/nginx/sites-available
vim default

而後將內容刪除,寫上:

server {
        listen 80;
        listen [::]:80;

        root /var/www/hexo;
        index index.html index.htm index.nginx-debian.html;

        server_name 你的域名;#若是沒有的話就別填了QwQ
    
        location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
                root /var/www/hexo;
                access_log   off;
                expires      1d;
        }
        location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
                root /var/www/hexo;
                access_log   off;
                expires      10m;
        }
        location / {
                root /var/www/hexo;
                if (-f $request_filename) {
                        rewrite ^/(.*)$  /$1 break;
                }
        }
}

而後:wq保存退出,而後使用

service nginx restart

重啓nginx便可,而後你在瀏覽器地址欄中輸入服務器IP,就會展示你/var/www/hexo目錄下的網頁文件內容了!

Local Update Setting

Step1

安裝上傳插件。

總仍是要依賴一個插件的= =

npm install hexo-deployer-git --save

Step2

安裝上傳插件。

在本地的 Hexo 文件存放文件夾下,有一個 _config.yml 編輯它,在底部加上:

deploy:
  type: git                      # 設置上傳模塊爲 Git
  repo: root@服務器IP:hexo.git  # 鏈接到服務器
  branch: master                 # 存儲在 master 分支(主分支)

Step3

上傳

在 Hexo 本地文件夾下運行:

hexo clean && hexo g && hexo d

而後輸入服務器密碼,而後瀏覽器上打開網站,上傳完成!

相關文章
相關標籤/搜索