远程服务器安装git
安装一些依赖和工具包
sudo apt-get install vim openssl build-essential libssl-dev wget curl git
hexo博客本地安装
下面切入本地windows环境,安装hexo服务
安装前提本地安装了nodejs和git
安装 hexo命令行工具
npm install hexo-cli -g
创建博客
hexo init myblog
cd blog
npm install
hexo server
这时候本地博客创建成功,访问http://localhost:4000
创建我的第一篇文件
hexo new 创建一篇文件,具体参数hexo官网中都有提供https://hexo.io/
hexo new 我的第一个文章
文章格式是Markdown格式,文章会保存在myblog/source/_posts/我的第一个文章.md
,这个目录下,拿编辑器打开md然后进行写作。之后在hexo server
刷新页面这样新文章就出来了。
使用 Hexo 生成静态文件
hexo generate
执行命令后项目中就多了个public目录,里面就是静态资源文件,需要发布到服务器中的文件
远程服务器中创建仓储
使用git用户登陆
ssh -p 39999 git@111.111.111.111
创建一个裸仓库,裸仓库就是只保存git信息的Repository, 首先切换到git用户确保git用户拥有仓库所有权
一定要加 --bare
,这样才是一个裸库。
git init --bare blog.git
使用 git-hooks 配置
新建post-receive文件
vim ~/blog.git/hooks/post-receive
在post-receive文件中写入
DIR=/data/www/blog
git --work-tree=${DIR} clean -fd
git --work-tree=${DIR} checkout --force
然后保存退出,并设置权限
chmod +x /home/git/blog.git/hooks/post-receive
改变 BLOG.GIT 目录的拥有者为 GIT 用户
chown -R git:git blog.git
创建静态文件目录
依次创建data,www,blog目录
sudo mkdir /data/www/blog
依次创建log文件夹,创建log文件
sudo mkdir /data/wwwlogs
cd /data/wwwlogs
sudo touch blog.log
链接git仓库
chown -R git:git /data/www/blog
配置权限
chmod -R 755 /data/www/blog
配置_config.yml完成自动化部署
现在操作本地windows中的myblog项目,在myblog中打开_config.yml
文件,在文件的末尾添加代码.
deploy:
type: git
repo: ssh://git@111.111.111.111:39999/home/git/blog.git
branch: master
message: 初始化库
安装hexo git工具
npm install hexo-deployer-git --save
保存后,尝试将我们的博客部署到服务器,也可以发布到github中。
hexo clean
hexo generate --deploy
查看服务器上hexo静态资源文件是否已经上传
查看资源文件是否上传成功
cd /data/www/blog
如果有文件就说明上传成功
接下来配置nginx来搭起web服务器