Hexo搭建(VPS)


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

Local

Hexo 這個東西的數據全部是本地式的 QwQ,包括主題樣式文章啥的都是的,所以本地非常重要,服務器雲端反而不難搞了。

Step1

安裝必要工具

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

Step2

安裝Hexo。

創建一個文件夾,名字自選,使用終端進入這個目錄,接下來的操作后Hexo的相關文件將全部會在里面(O3O)。

hexo init
npm install

然后文件夾下的東西基本上就全了,安裝完成,接下來是本地基本操作。

Step3

Hexo命令。

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

你會發現多了一個 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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM