0%

Hexo快速Deploy到Ubuntu Server上

Hexo安裝

Hexo

安裝需求

  • Node.js (建議10.0以上版本)
  • Git

    安裝

    npm install -g hexo-cli

建立專案

1
2
3
hexo init <yourproject>
cd <yourproject>
npm install

接著安裝你的 主題plugins

主題這裡就不多作介紹..

安裝 Git Deploy

1
npm install hexo-deployer-git --save

修改_config.yml設定(下面的註解顯示了參數的範例)

1
2
3
4
5
deploy:
type: git
repo: <repository url>
branch: [branch]
message: [message]

設定完成之後只要

1
hexo deploy

就可以push到你的repository囉

Ubuntu Server

我是在GCP開的,身為一個工程師,自己選個喜歡的雲端就好…

  1. 安裝Docker
    1
    2
    3
    4
    5
    6
    sudo apt-get update
    sudo apt-get remove docker docker-engine docker.io
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    docker --version
  2. Nginx Auto SSL
Godaddy

這裡需要先有自己的一個網域,我是使用GoDaddy購買

1
2
3
4
5
6
7
8
9
sudo docker run -d \
--name nginx-auto-ssl \
--restart on-failure \
-p 80:80 \
-p 443:443 \
-e ALLOWED_DOMAINS=(yourdomain.com)\
-v /home/ssl-data:/etc/resty-auto-ssl \
-v /home/html/(yourproject):/usr/local/openresty/nginx/html \
valian/docker-nginx-auto-ssl

建立一個腳本 pull.sh
簡單說就是自動去做 git fetch , 如果有更新就 git pull
當然這裡就是從剛剛deploy的地方pull下來囉~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/expect -f
spawn git fetch
expect "Password for '<repository url>': "
send "<Your Password>\n"
expect eof
spawn git diff <branch> origin/<branch>
expect {
eof {send_user "Allready up to date!!!\n";exit 0}
"diff*"
}
spawn git pull
expect "Password for '<repository url>': "
send "<Your Password>\n"
expect eof

更改權限

1
chmod a+x ./pull.sh

建立 cronjob

1
crontab -e

這時會進入一個文件,在下方輸入

1
*/2 * * * * /path/to/pull.sh

OK,大功告成,系統每兩分鐘會執行一次pull.sh
這樣我們之後寫完文章只要執行hexo deploy就完成上傳了

↓↓↓ 如果喜歡我的文章,可以幫我按個Like! ↓↓↓
>> 或者,請我喝杯咖啡,這樣我會更有動力唷! <<<
街口支付

街口支付

街口帳號: 901061546

歡迎關注我的其它發布渠道