将博客网站从github迁移到阿里云服务器

阿里还是给力啊,疫情期间,学生可以免费领取一年的ECS,正好我最近想搞一台服务器玩玩,于是便去领取了一台。之前我的博客一直托管于GitHub上,是一个不错的选择,但是访问速度实在是有点慢,并且由于GitHub禁止了百度的爬虫,所以网站是无法被百度收录的。所以在有了服务器之后,我做的第一件事便是将博客迁移到ECS上。但是由于备案需要一定的时间,所以在今天才将博客完全迁移过来!

服务器

服务器端是ubuntu

主要参考的是这篇博客,当然也有一部分不同之处

  • 下载git,Nginx,

    1
    apt-get install git nginx
  • 我们添加一个git用户,

    1
    2
    3
    adduser git
    visudo #添加sudo权限,在root那一行下添加 git ALL=(ALL) ALL
    #保存退出
  • 切换为git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限

    1
    2
    3
    su git
    mkdir ~/.ssh
    vim ~/.ssh/authorized_keys

    然后将本地电脑中生成的id_rsa.pub文件中的公钥复制到authorized_keys,保存退出

    1
    2
    chmod 600 /home/git/.ssh/authorized_keys
    chmod 700 /home/git/.ssh #赋予权限

    本地电脑中打开git bash

    1
    ssh -v git@server_ip

    输入yes,看到类似欢迎登陆的信息便可以了

  • 创建仓库文件

    1
    mkdir /var/repo

    赋予权限

    1
    2
    chown -R git:git /var/repo
    chmod -R 755 /var/repo

    在repo下创建空仓库

    1
    2
    cd /var/repo
    git init --bare hexo.git

    接下来创建hexo目录作为网站根目录,并赋予权限

    1
    2
    3
    mkdir /var/www/hexo
    chown -R git:git /var/www/hexo
    chmod -R 755 /var/www/hexo
  • 创建一个钩子,用于自动部署

    1
    vim /var/repo/hexo.git/hooks/post-receive

    将下面的内容输入其中,退出保存

    1
    2
    #!/bin/bash
    git --work-tree=/var/www/hexo --git-dir=/var/repo/hexo.git checkout -f
  • 修改权限,并使其成为可执行文件

    1
    2
    chown -R git:git /var/repo/hexo.git/hooks/post-receive
    chmod +x /var/repo/hexo.git/hooks/post-receive
  • 配置nginx

    修改/etc/nginx/sites-available/default文件

    1
    vim /etc/nginx/sites-available/default

    将root设置为/var/www/hexo, index 设置为index.html,server_name设置为your_address,保存退出。

    重新启动nginx

    1
    2
    nginx -s stop
    nginx

本地

修改hexo博客的配置文件

1
2
3
4
deploy:
type: git
repo:
ununtu: git@your_server_ip:/var/repo/hexo.git

然后通过git bash 部署到服务器上

如果部署失败,在服务器设定一下权限

1
2
chown -R git:git /var/repo/
chown -R git:git /var/www/hexo

没有问题之后,便可以通过浏览器输入ip访问博客了

绑定域名

在域名的控制台解析一下即可

配置SSL证书

直接在阿里云上购买一年的免费证书,详细的过程参考阿里的官方文档即可,下面是链接

https://help.aliyun.com/document_detail/98728.html?spm=a2c4g.11174283.6.581.17266fd4yEmTUH

证书有效期只有一年,失效了需要重新购买并配置

因为是国内的服务器,所以需要去备案,直接通过阿里云备案,十分方便,也不需要邮寄材料什么的,大概需要个5、6天左右的时间吧。

好了,以上就是迁移的详细过程啦!

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信