之前一直把hexo部署在GitHub Page上,缺点就是访问的速度慢,有时候甚至加载不出来,刚好之前买的阿里云ECS也落灰了,顺手把hexo部署在阿里云上,再顺手记录一下部署过程。
如果本机已有
id_rsa.pub
文件,此步骤可跳过
在Win10桌面右击,点击Git Bash Here打开命令行终端,执行如下命令(直接按三次回车生成密钥)
1 | ssh-keygen -t rsa |
生成的文件默认在C:/用户/本机用户名/.ssh/
路径下。
1 | yum -y install git |
1 | adduser git |
1 | chmod 740 /etc/sudoers |
找到下面这一行:
1 | ## Allow root to run any commands anywhere |
紧接着添加:
1 | git ALL(ALL) ALL |
1 | sudo passwd git |
切换至git用户,创建./ssh
文件夹和``~/.ssh/authorized_keys `文件,并给权限:
1 | su git |
在本地Git终端中测试是否能免密登录git,其中SERVER为填写自己的云主机IP,执行输入yes后不用密码就说明好了
1 ssh -v [email protected]
首先创建目录并给权限:
1 | repo作为为Git仓库目录 |
然后创建一个Git仓库:
1 | cd var/repo |
在 /var/repo/hexoBlog.git
下,有一个自动生成的hooks
文件夹。我们需要在里边新建一个新的钩子文件post-receive
。
1 | vim /var/repo/hexoBlog.git/hooks/post-receive |
添加一下内容:
1 |
|
修改文件权限,使得其可执行:
1 | chown -R git:git /var/repo/hexoBlog.git/hooks/post-receive |
为了适合小白安装部署和后期网站服务器的扩展性,选用宝塔面板来一键部署Nginx。宝塔面板的安装和使用可以查看官方文档。
Nginx部署成功后就可以创建网站了。
没有域名的可以填写IP地址。
注意:根目录的路径必须是你上一步在云服务器上创建的网站目录。
配置_config.yml,完成自动化部署。
打开blog文件夹,编辑_config.yml,找到deploy:
1 | deploy: |
再执行命令:
1 | hexo clean |
不出错显绿说明完成,打开浏览器输入你的域名或ip地址就可以看到你部署的Hexo博客了。