本地安裝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
命令來部署了泡躯。大功告成贮竟。