基于CentOS 環(huán)境
總共就是客戶端和服務(wù)端以及阿里云的配置
阿里云:


配置完畢, 這tm是個大坑
第一部分: 服務(wù)器環(huán)境搭建,包括安裝 Git 、Nginx配置 、創(chuàng)建 git 用戶 。
安裝git和nodejs
yum install git
#安裝NodeJS
curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
adduser git
chmod 740 /etc/sudoers
vim /etc/sudoers
找到以下內(nèi)容
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
在下面添加一行
git ALL=(ALL) ALL
如圖:

保存退出后改回權(quán)限
chmod 400 /etc/sudoers
隨后設(shè)置Git用戶的密碼,
需要root權(quán)限
sudo passwd git
切換至git用戶,創(chuàng)建 ~/.ssh 文件夾和 ~/.ssh/authorized_keys 文件,并賦予相應(yīng)的權(quán)限
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
#然后將電腦中執(zhí)行 cat ~/.ssh/id_rsa.pub | pbcopy ,將公鑰復(fù)制粘貼到authorized_keys
chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh
然后再客戶端(電腦上),執(zhí)行ssh -v git@ip地址(就是你阿里云的外網(wǎng)地址) ,應(yīng)該就能免密登陸了
接下來安裝Nginx和配置
安裝:
yum install nginx
啟動:
1.systemctl start nginx
2.systemctl enable nginx
然偶把服務(wù)器的公網(wǎng)地址輸入瀏覽器, 出現(xiàn)下面的圖片就對了,沒出來就有問題

配置Nginx
vim /etc/nginx/conf.d/default.conf
依照下圖進(jìn)行修改,將“/usr/share/nginx/html”改為“/usr/share/nginx/html/blog”。

sudo mkdir -p /usr/share/nginx/html/blog
sudo chown -R git:git /usr/share/nginx/html/blog
這樣上面的地址就算對應(yīng)上了
在服務(wù)器上初始化一個git裸庫
切換到git用戶,然后切換到git用戶目錄,接著初始化裸庫,代碼如下:
su git
cd ~
git init --bare blog.git
接著新建一個post-receive文件
vim ~/blog.git/hooks/post-receive
然后在該文件中輸入以下內(nèi)容:
#!/bin/sh
git --work-tree=/usr/share/nginx/html/blog --git-dir=/home/git/blog.git checkout -f
保存退出之后,再輸入以下代碼,賦予該文件可執(zhí)行權(quán)限。
chmod +x ~/blog.git/hooks/post-receive
第二部分: 本地Hexo初始化, 包括安裝 NodeJS 、hexo-cli, 生成本地靜態(tài)網(wǎng)站
初始化Hexo博客
首先要安裝 hexo-cli,安裝hexo-cli 需要 root 權(quán)限,使用 sudo 運行
sudo npm install -g hexo-cli
然后初始化Hexo程序
cd ~/Documents
hexo init blog
等執(zhí)行成功以后安裝兩個插件, hexo-deployer-git 和 hexo-server ,這倆插件的作用分別是使用Git自動部署,和本地簡單的服務(wù)器。
hexo-deployer-git幫助文檔
hexo-server幫助文檔
cd blog
npm install hexo-deployer-git --save
npm install hexo-server
初始化Nodejs
brew install nodejs
生成自己的第一篇文章 hello world !
使用 hexo new <文章名稱> 來新建文章,該命令會成成一個 .md文件放置在 sources/_posts文件夾。
hexo new "hello Hexo"
vim sources/_posts/hello-hexo.md
編輯完畢以后, 使用hexo g將 .md文件渲染成靜態(tài)文件,然后啟動hexo-server:
hexo g
hexo server
現(xiàn)在便可以打開瀏覽器訪問 http://localhost:4000 來查看我們的博客了!
然后停掉
配置_config.yml,完成自動化部署
然后打開~/Documents/blog/_config.yml 找到 deploy
deploy:
type: git
repo: git@SERVER:/home/git/blog.git #此處的SERVER需改為你自己服務(wù)器的ip
branch: master #這里填寫分支
message: #提交的信息

保存后,嘗試將我們剛才寫的"hello hexo"部署到服務(wù)器
hexo clean
hexo generate --deploy
訪問服務(wù)器地址,就可以看到我們寫的文章"Hello hexo",以后寫文章只需要:
hexo new "Blog article name"
···寫文章
hexo clean && hexo generate --deploy
感謝兩篇文章:
https://segmentfault.com/a/1190000005723321
https://blog.csdn.net/fogcrane/article/details/79108079