最近由于域名想要备案,刚好看到阿里云学生服务器一年只需要114块。。。果断入手一个,这个是只要在阿里云上实名认证年龄小于 24 岁就默认是学生,所以是人人都可以购买,云翼计划阿里云服务器购买。
买了之后就和以前阿里云上购买的域名一起绑定了,然后送去备案...不得不说湖北省备案时间要求真长,需要 15 天的审核时间,这个期间域名还需要关闭不能访问。
好了,闲话少说,之前部署到 Github Pages 其实也不错,还能一键开启 HTTPS,不过响应速度实在是太慢了......毕竟 Github 服务器还是在国外,然后想过将博客搬到国内来,看了一下腾讯云也有免费空间,但是必须要求域名已经备案...好吧,最后还是回到备案上面来了。
现在在写这篇博客的时候,备案还在审核,所以假定我们购买的服务器的公网 ip 是 172.30.16.33(当然不可能告诉你真的地址啦,皮一下)。
1、准备工作
首先我的本机操作系统是 Windows10,我购买的云服务器操作系统是 Ubantu16.04 LTS 64位,不妨先认为云服务器的 ip 地址是 172.30.16.33。需要做的第一步就是在本机 Windows 下的 Git Bash上配置 ssh 公钥登陆,这样 hexo 博客通过 Git 部署时就不需要输入密码了。
# 在本机 git 上配置 ssh 公钥
$ ssh root@172.30.16.33
为了方便我在这里是直接使用 root 用户,其实这是不符合规范的。但是一方面我只是为了部署博客,不担心黑客干坏事,另外方面我也做了必要的安全防范,比如配置阿里云安全组,禁止 ssh 密码登陆以及配置 ufw 防火墙。
至于在本机上配置 hexo 博客就不说了,这些都默认已经做好了。然后我们操作云主机服务器。
2、安装 git 和 nginx
以下操作都是在云服务器上完成的。
$ apt-get install update
$ apt-get install git //安装git
nginx 也可以直接通过$ apt-get install nginx
来直接安装,但是我个人不推荐使用这种方法,而是去下载压缩包来进行安装(主要是我做 web 后端需要用到多个 nginx 操作),具体安装 nginx 可以看我另外一篇博客Ubantu下常用操作指令 中 nginx 下载安装相关。
(1)如果是使用apt install nginx
安装的 nginx,可以继续如下操作
第一步:先配置生成的静态文件目录
cd /var/www
mkdir blog //此处blog的名字随意取,也可以取hexo等
blog 文件主要放置 hexo 博客生成的 public 静态文件,也就是博客目录。
第二步:编写 nginx 的配置文件
$ vim /etc/nginx/site-enabled/default
其中配置文件
即将原来的 root 指向地址换成 /var/www/blog;
第三步:然后重启nginx使之生效
$ systemctl restart nginx
(2)如果是使用的压缩包安装的 nginx,可以继续如下操作
第一步:生成静态文件目录同上
第二步:编写 Nginx 的配置文件
在安装的 conf 路径下,编辑 nginx.conf 文件
$ vim nginx.conf
再将其中 root 指向地址换成 /var/www/blog 即可
第三步:启动或重启nginx同上
3、配置 Git Hooks
第一步:创建Git裸仓库
blog.git 作为远程 Git 仓库,hexo 在本地生成的静态文件可以通过 push 与其同步。
$ mkdir ~/blog.git && cd ~/blog.git
$ git init --bare
第二步:配置Hooks脚本
post-receive 脚本将在 blog.git 仓库接收到 push 时执行。
$ vim ./hooks/post-receive
而脚本内容非常简单,就是先删除原来的 /var/www/blog 目录,然后从 blog.git 仓库 clone 新的博客静态文件。
# 编写的脚本内容
rm -rf /var/www/blog
git clone /root/blog.git /var/www/blog
退出并保存使用!wq
执行操作,然后给 post-receive 脚本执行权限。
$ chmod +x ./hooks/post-receive
4、修改本机的hexo博客配置文件
到本机站点目录文件下,修改_config.xml
文件
deploy:
type: git
repo: root@172.30.16.33:blog.git
然后部署博客,通过 git 将其同步到云主机的 blog.git 仓库。
$ hexo d
然后访问http://172.30.16.33
即可访问博客,如果博客没有备案,需要使用 8080 端口监听请求,备案后可以直接使用 80 端口,即直接访问域名就可以访问到博客内容。
至此就访问成功啦!
本文由 Sanarous 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可,转载前请务必署名
本文链接:https://bestzuo.cn/posts/fb6b5822.html
最后更新于:2019-04-01 13:22:57
评论