1.准备工作
1.1安装git服务器,本地都需要安装
- Windows:下载并安装 git.
- Mac:使用 Homebrew, MacPorts :
brew install git
;或下载 安装程序 安装。 - Linux (Ubuntu, Debian):
sudo apt-get install git-core
- Linux (Fedora, Red Hat, CentOS):
sudo yum install git-core
1.2安装 Node.js服务器,本地都需要安装
安装 Node.js 的最佳方式是使用 nvm。
cURL:
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | sh
Wget:
$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | sh
安装完成后,重启终端并执行下列命令即可安装 Node.js。
$ nvm install stable
或者您也可以下载 安装程序 来安装。
1.3安装hexo本地安装
$ npm install -g hexo-cli
1.4安装Nginx 服务器安装
自行百度安装
2.搭建博客
2.1 创建Hexo所需文件本地
$ hexo init <folder>
$ cd <folder>
$ npm install
2.1 创建git账户服务器
$ useradd git
$ passwd `git的密码`
2.2 创建私有 Git 仓库服务器
sudo mkdir /var/repo/
sudo chown -R git:root /var/repo/
sudo chmod -R 755 /var/repo/
cd /var/repo/
git init --bare hexo_static.git
2.3 创建Hexo静态文件夹服务器
sudo mkdir /var/repo/hexo
2.3 创建ssh连接服务器本地
//生成ssh key
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
//复制ssh到云服务器
ssh-copy-id -i .ssh/id_rsa.pub git@服务器ip或域名
2.4 配置Hexo本地
其他配置可以参考官方文档
主要配置git仓库地址
$ cd <folder>
$ vi _config.yml
修改deploy:
deploy:
type: git
repo: git@`服务器ip或域名`:/var/repo/hexo_static.git
这时候使用hexo g -d
变可以上传静态文件到服务器git地址,但是现在还无法访问,还需要设置Nginx。
2.5 配置Nginx服务器
- 查询Nginx配置文件地址
$ nginx -t
nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /www/server/nginx/conf/nginx.conf test is successful
- 编辑配置文件
笔者的配置文件地址为/www/server/nginx/conf/nginx.conf
$ vi /www/server/nginx/conf/nginx.conf
//找到server如果是http找到80端口 https找到443端口
//以下只列出需要修改的内容
server {
server_name 123.456.789; #填写域名 或者服务器ip
location / {
root /var/repo/hexo; #2.3中建立的Hexo地址
index index.html index.htm;
}
}
现在离成功只有最后一步了,加油
2.6 添加自动部署
自动部署的原理就是你push到git仓库,然后把git仓库的文件复制一份到hexo文件夹里,这样就每次更新还需要手动复制了。
- 进入2.2创建的仓库
$ cd /var/repo/hexo_static.git
//配置钩子
$ vim post-receive
- 将入下代码复制进去 ,并保存退出
#!/bin/bash
git --work-tree=/var/repo/hexo --git-dir=/var/repo/hexo_static.git checkout -f
- 给钩子文件添加执行权限
$ chmod +x post-recevie
3. 运行
本地更新完博客后执行hexo g -d
变会自动部署,即可访问地址查看
注意
- 第一次执行
hexo g -d
可能会出现hexo-deployer
相关警告,本地执行npm install hexo-deployer-git --save
命令即可 - ssh无法连接可能是由于.ssh文件夹权限的问题,可百度解决
- 如果
hexo g -d
后发现服务器/var/repo/hexo
文件为空,是由于git
用户对于/var/repo/hexo
权限不足造成。服务器执行chmod 777 /var/repo/hexo