将Hexo搭载到自己的服务器上
花了一上午时间终于捣鼓完自己的博客了,写篇文章记录下。
我的服务器:
服务器所需环境:
宝塔面板,nginx,git
宝塔面板官方有详细安装教程,nginx可以直接通过宝塔面板安装,git安装网上也有许多教程,这里默认大家已经装好了所需环境。
创建git仓库,存放博客资源
在
home
目录下,创建出一个git
目录,再在home/git
目录下创建一个hexoBlog.git
目录将
git
目录读写权限改为777(这步很重要)执行如下命令:
1
2cd /home/git/
git init --bare hexoBlog.git这样就可以创建出一个裸的git仓库
创建一个git钩子用于自动部署。
在
/home/git/hexoBlog.git/hooks
下新建一个文件post-receive
在文件中添加如下代码
1
2#!/bin/bash
git --work-tree=/www/wwwroot/hexo --git-dir=/home/git/hexoBlog.git checkout -f注意,这里写的
/www/wwwroot/hexo
就是我们博客的部署目录,在宝塔中添加新的站点时根目录选择这个目录就可以设置这个文件的可执行权限:
chmod +x post-receive
在本机上配置hexo根目录下的
——config.yml
# Deployment ## Docs: https://hexo.io/docs/one-command-deployment deploy: type: git repository: tencent: root@你的服务器ip地址:/home/git/hexoBlog.git
root是服务器默认的的用户名,如果你创建了新的用户就用新的用户名
本机运行
hexo clean
,hexo g -d
我运行时出现了一个问题:
remote: error: cannot run hooks/post-receive: No such file or directory
搜索后发现好像是因为在Windows下调用CentOS上文件导致的错误
在服务器上首先安装工具dos2unix:
yum install -y dos2unix
然后用命令
dos2unix post-receive
将Windows文件转换为Linux文件即可。