都說 hexo 是靜態的 Blog,當時不明覺厲= =。後來終於知道了什麼意思......所謂的靜態,其實就是由於你不能改雲端,而是依賴本地數據,而後使用命令將本地數據變成 web 數據再使用瀏覽器進行查看......由於這玩意顯然要在本地處理,因此每次本地修改以後還要上傳到 git 或者是服務器因此看起來麻煩點而已 ......css
Hexo 這個東西的數據所有是本地式的 QwQ,包括主題樣式文章啥的都是的,因此本地很是重要,服務器雲端反而不難搞了。html
安裝必要工具node
sudo apt install npm sudo apt install nodejs npm install hexo-cli -g
安裝Hexo。nginx
建立一個文件夾,名字自選,使用終端進入這個目錄,接下來的操做後Hexo的相關文件將所有會在裏面(O3O)。git
hexo init npm install
而後文件夾下的東西基本上就全了,安裝完成,接下來是本地基本操做。web
Hexo命令。npm
Hexo 的命令行在第一步裏已經安裝好了,那麼接下來注視着你的文件夾內的東西,並使用命令hexo g
看看。vim
你會發現多了一個 public 文件夾對不對,那就是對本地數據整合以後將會在瀏覽器上展現的結構,全在裏面的。這時候,你再運行hexo clean
試試 -- public 就消失啦!這就是清除緩存,而 g 命令能夠理解爲編譯整合文件獲得緩存。瀏覽器
而後就是新建文章,這裏命令很簡單:hexo new 文章名
。而後就會生成文章名.md
這樣的玩意= =,那麼文章在哪裏呢?在你裝Hexo文件的目錄的source/_post下,你就會發現它,而後你就能夠直接編輯了。刪除?直接在編輯的那個文件夾裏刪掉文章就行了。緩存
Hexo的另外一個核心命令就是hexo s
,它的做用就是在本地展示你的網站,使用這個命令後,在瀏覽器裏打開localhost:4000
便可看到效果。
安裝必要工具。
首先須要將文件傳上來,這裏咱們選擇使用 git ,而後對於網頁展現咱們使用久負盛名的 nginx。
sudo apt install nginx git-core
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
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
目錄下的網頁文件內容了!
安裝上傳插件。
總仍是要依賴一個插件的= =
npm install hexo-deployer-git --save
安裝上傳插件。
在本地的 Hexo 文件存放文件夾下,有一個 _config.yml
編輯它,在底部加上:
deploy: type: git # 設置上傳模塊爲 Git repo: root@服務器IP:hexo.git # 鏈接到服務器 branch: master # 存儲在 master 分支(主分支)
上傳
在 Hexo 本地文件夾下運行:
hexo clean && hexo g && hexo d
而後輸入服務器密碼,而後瀏覽器上打開網站,上傳完成!