用Hexo部署博客到Ubuntu服務(wù)器

本地安裝Hexo,node.js,git

參看<a href="/note-hexo-and-github.html">hexo 和 Github 搭建個(gè)人博客記錄</a>

服務(wù)器端

首先需要一臺(tái)Ubuntu服務(wù)器,并且可以用ubuntu用戶身份正常登陸.

配置SSH

配置服務(wù)器的登陸選項(xiàng),添加SSH,SSH公鑰就用之前安裝git時(shí)生成的公鑰即可.

在本地下載Xshell等工具,登陸方式也可以選為本地的私鑰.

注意在使用Xshell等終端時(shí),若不小心鍵入了ctrl+s, 則這個(gè)命令為暫時(shí)掛起終端,只需要按ctrl+q即可繼續(xù)輸入

安裝Git和Nginx

Git 用于版本管理和部署,Nginx 用于靜態(tài)博客托管。

sudo apt-get update
sudo apt-get install git nginx -y

創(chuàng)建Git倉庫

/var/repo/下創(chuàng)建名為hexo_static的裸倉庫。用如下命令

sudo mkdir /var/repo/
sudo chown -R $USER:$USER /var/repo/
sudo chmod -R 755 /var/repo/

cd /var/repo/
git init --bare hexo_static.git

配置Nginx托管文件目錄

創(chuàng)建/var/www/hexo目錄,用于Nginx托管,修改目錄所有權(quán)和權(quán)限。

sudo mkdir -p /var/www/hexo

sudo chown -R $USER:$USER /var/www/hexo
sudo chmod -R 755 /var/www/hexo

隨后修改Nginx的default設(shè)置,使root指向hexo目錄.

sudo vim /etc/nginx/sites-available/default

注意一定要加sudo,否則會(huì)提醒default是只讀文件.

修改文件中對(duì)應(yīng)的項(xiàng)

...

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/hexo; # 需要修改的部分
    index index.html index.htm;
...

Vim的操作方法比較特殊,可以在網(wǎng)上查查

重啟Nginx服務(wù),使得改動(dòng)生效。

sudo service nginx restart

創(chuàng)建Git鉤子

不清楚鉤子是什么

在自動(dòng)生成的 hooks 目錄下創(chuàng)建一個(gè)新的鉤子文件:

vim /var/repo/hexo_static.git/hooks/post-receive

在該文件中添加兩行代碼,指定 Git 的工作樹(源代碼)和 Git 目錄(配置文件等)。

#!/bin/bash

git --work-tree=/var/www/hexo --git-dir=/var/repo/hexo_static.git checkout -f

保存并退出文件,并讓該文件變?yōu)榭蓤?zhí)行文件。

chmod +x /var/repo/hexo_static.git/hooks/post-receive

回到本地配置

修改Hexo的默認(rèn)配置

在站點(diǎn)config.yml中修改博客的地址url

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'

url: http://server-ip # 沒有綁定域名時(shí)填寫服務(wù)器的實(shí)際 IP 地址。
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:

通過Git部署

先在任意位置處打開powershell, 從服務(wù)器上把hexo_static倉庫克隆下來, 以此來將服務(wù)器地址添加到受信任的站點(diǎn)中。

git clone ubuntu@server_ip:/var/repo/hexo_static.git

注意在第一次進(jìn)行這一步時(shí)會(huì)提示是否繼續(xù),選yes即可。

再編輯Hexo的config.yml文件,找到Deployment, 修改為

deploy:
  type: git
   repo: ubuntu@server_ip:/var/repo/hexo_static.git
  branch: master

最后記得安裝Hexo部署到Git倉庫的包.

npm install hexo-deployer-git --save

于是就可用hexo d命令來部署了。大功告成。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容