2019-12-23 seo達人
hexo pc機上的配置 (一切操作都是在git bash)
安裝git
安裝nodejs
安裝hexo
備注:用 npm 安裝話經(jīng)常出現(xiàn)卡住而導致無法正常安裝,解決辦法就是修改 npm 的安裝源,
這里選擇淘寶 NPM 鏡像,這是一個完整 npmjs.org 鏡像,你可以用此代替官方版本,同步頻
率目前為 10分鐘 一次以保證盡量與官方服務同步。
npm config set registry https://registry.npm.taobao.org
創(chuàng)建 你的Hexo 目錄
mkdir "your hexo dir name"
//創(chuàng)建一個自定義的hexo目錄,比如我就在用戶根目錄創(chuàng)建了一個myhexo文件夾(macOS)
cd "your hexo dir name" //進入到剛剛創(chuàng)建的目錄
安裝 hexo-cli
npm install -g hexo-cli
初始化該文件夾
hexo init
安裝hexo的擴展插件
npm install
等執(zhí)行成功以后安裝兩個插件, hexo-deployer-git 和 hexo-server ,這倆插件的作用分別是使用Git自動部署,和本地簡單的服務器。
npm install hexo-deployer-git --save
npm install hexo-server --save
到這里hexo的本地搭建已經(jīng)基本結(jié)束了。
打開hexo
hexo g
hexo server
git用戶
創(chuàng)建以用于提交
git config --global user.name "yourname"
git config --global user.email "youremail
生成ssh公鑰密鑰
cd ~/.ssh
ssh-keygen -t rsa -C "你的email"
-----------------------------------------------------------------------------------------------------------------
linux (ubuntu + 阿里云) 服務器上的配置
安裝nginx
切換至root用戶
sudo su root
apt-get install nginx
查看nginx版本
nginx -v
啟動nginx
service nginx start
可以查看nginx的端口號
ps -aux | grep nginx
啟動后,在網(wǎng)頁重輸入ip地址,即可看到nginx的歡迎頁面。至此nginx安裝成功
cd /etc/nginx
vim sites-available/default
因為我們是拿nginx做 Web 服務器,所以我們需要安裝部署好nginx,我們可以專門為hexo創(chuàng)建一個部署目錄,比如我創(chuàng)建了/home/xufushen/hexo文件夾,并把nginx的配置文件nginx.conf中的部署目錄改為/home/xufushen/hexo,配置文件在/etc/nginx/conf里;同樣可以使用默認目錄,nginx的默認目錄為/var/www/html.
安裝node.js
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
apt-get install -y nodejs
安裝git
apt-get install -y git
創(chuàng)建一個git用戶
sudo adduser git
雖說現(xiàn)在的倉庫只有我們自己在使用,新建一個 git 用戶顯得不是很有必要,但是為了安全起見,還是建議使用單獨的 git 用戶來專門運行 git 服務
添加證書登入
mkdir .ssh
mkdir authorized_keys
剛在在本地創(chuàng)建或者已經(jīng)擁有的公鑰,也就是 ~/.ssh/id_rsa.pub 文件里的內(nèi)容添加到服務器的 /home/git/.ssh/authorized_keys 文件中,如上所說,添加公鑰之后可以防止每次 push 都輸入密碼。 (使用Xftp軟件直接將文件拖入)
初始化 Git 倉庫
可以將git倉庫放到自定義位置,我是將其放在 /xufushen/blog/ 目錄下的
sudo mkdir /xufushen/blog/
cd /xufushen/blog/
git init --bare blog.git
使用 --bare 參數(shù),Git 就會創(chuàng)建一個裸倉庫,裸倉庫沒有工作區(qū),我們不會在裸倉庫上進行操作,它只為共享而存在。
配置 git hooks
我們這里要使用的是 post-receive 的 hook,這個 hook 會在整個 git 操作過程完結(jié)以后被運行.關于hooks的內(nèi)容詳情點擊這里
在 blog.git/hooks 目錄下新建一個 post-receive 文件
cd /var/repo/blog.git/hooks
編輯這個文件
vim post-receive
設置這個文件的可執(zhí)行權(quán)限
chmod +x post-receive
改變 blog.git 目錄的擁有者為 xufushen 用戶
chown -R xufushen:gxufushenit blog.git
禁用 xufushen 用戶的 shell 登錄權(quán)限
出于安全考慮,我們要讓 xufushen 用戶不能通過 shell 登錄??梢跃庉?/etc/passwd 來實現(xiàn)
vim /etc/passwd
#將
git:x:1001:1001:,,,:/home/git:/bin/bash
#改成
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
這樣 xufushen 用戶可以通過 ssh 正常使用 git,但是無法登錄 shell。 至此,服務器環(huán)境的搭建已經(jīng)基本結(jié)束。
配置本地_config.yml文件,完成自動化部署
配置 hexo 的 deploy
修改 hexo 目錄下的 _config.yml 找到 deploy, 修改為:
deploy:
ype: git
repo: xufushen@47.100.184.175:/home/xufushen/blog/blog.git
branch: master
repo的地址為你自己的地址以及 git 倉庫目錄
使用hexo blog
新建文章:
hexo new "post name"
生成 & 部署:
hexo clean && hexo g && hexo d
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在搭建的過程遇到的問題
連到服務器后無法連接到repository
這是因為你在創(chuàng)建blog.git與hexo文件時要把的歸屬用戶與用戶組更改為創(chuàng)建的用戶