1.安装配置Hexo
在mac上安装Node/Npm,使用homebrew安装
brew update
brew install node
安装Hexo
npm install hexo -g
2.配置Hexo文件夹
hexo init blog
cd blog
npm install
#本地调试
hexo s
现在博客就已经生成了,访问http://localhost:4000 可以看效果。
hexo的基本命令
- hexo g 生成public静态文件
- hexo d 部署网站
- hexo s 本地调试
- hexo new 'title' 生成新的文章
配置文件
在根目录下有_config.yml文件,里面有一些比较重要的配置内容:
- title:网站名称
- author:网站作者
- language:默认为英文,zh-Hans为简体中文
推送设置:
deploy:
type: git
message: update
#例如:root@222.232.69.251:/root/blog/blog.git,master
repo: username@ip:'git仓库路径','分支名master'
3.服务器生成git仓库
可以在服务器建立私人git仓库,服务器不需要做任何操作就能发布新文章。
创建空的git仓库
cd /root/blog
git init --bare blog.git
配置ssh key
首先在本地生成一个公钥,生成公钥的时候会让你输入两次密码,直接回车跳过代表密码为空。
cd ~/.ssh
ssh-keygen
#打印公钥
cat ~/.ssh/id_rsa.pub
复制公钥到服务器
复制上面打印的公钥内容,在服务器中找到authorized_keys文件,拷贝进去后保存,现在就可以从本地拉取服务器代码了
cd ~/.ssh
vim authorized_keys
#拷贝公钥后保存
本地项目中运行hexo,并推送代码到服务器
hexo g
hexo d
#上一步可能会出现ERROR Deployer not found: git错误提示,输入下面命令之后重新输入hexo d
npm install --save hexo-deployer-git
4.服务器克隆代码,并建立git hooks自动拉取代码
在服务器某个目录中克隆代码
cd /home/www/blog
git clone /root/blog/blog.git
建立git hooks自动拉取客户端提交的代码
#编辑post-receive,在客户端提交代码的时候会触发
vim /root/blog/blog.git/hooks/post-receive
#输入以下内容
#!/bin/sh
unset GIT_DIR
DeployPath=/home/www/blog
cd $DeployPath
git pull origin master
5.配置nginx
如果未安装nginx服务器的同学,自行百度安装吧,我就不在这阐述了。
vim /etc/nginx/nginx.conf
#root代表项目的根目录
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /home/www/blog;
include /etc/nginx/default.d/*.conf;
location / {
index index.html;
}
}
#编辑完保存后重启nginx
nginx -s reload
到目前整体的博客就配置完毕了,你现在访问你的服务器就能够打开博客,如果有需要还可以买个域名,映射到当前服务器,你就可以通过域名访问你的博客了。
6.发布新文章
现在发布新文章就非常简单了
首先生成一个新文章
hexo new [title]
在根目录下-source-_posts会生成一个新的markdown文件,打开并编辑好你想要发送的内容。你也可以本地预览,预览没有问题就可以编译推送了。
hexo g
hexo d