0x00 前言
迁移一下博客,本来还想配置一下负载均衡,让两台服务器都有网站,最后还是算了,另一台只剩下一个月了,用来搞点别的好了。
感谢海子哥,把阿里云(或者我现在应该叫你’套路云’)的新用户专享机会让给我,让我可以60首年用到2核2G的服务器
记一次博客迁移的过程
安装Git
apt install git
配置公钥
找到开发机上的公钥id_rsa.pub,复制内容后添加到云服务器上的~/.ssh/authorized_keys
添加Git用户
adduser git
修改Git用户登录shell
/home/git:/bin/bash改为/home/git:/usr/bin/gti-shell,git-shell登陆后会自动退出,这一步是出于安全考虑,也可以不做。
创建仓库
mkdir myrepo,然后进入,初始化 git --bare init hexo.git一个裸仓库
创建站点文件
mkdir /var/hexo,然后赋权chmod +777 -R  /var/hexo 
创建钩子
cd /var/myrepo/hexo.git/hooks,然后新建一个post-receive,还要赋予执行权限chmod +x post-receive,vim post-receive,添加如下内容:
#!/bin/bash
git --work-tree=/var/hexo --git-dir=/var/myrepo/hexo.git checkout -f
做完后赋予权限chown -R git:git /var/myrepo/hexo.git
修改hexo配置
deploy:
  type: git
  repo: git@ServerIP:/var/myrepo/hexo.git
  branch: master
上传
hexo d, 然后检查/var/hexo目录下是否上传成功
配置Nginx
server
{
    listen 80 default;
    listen 443 ssl http2; #配置https
    server_name chenlvtang.top;
    charset utf-8;
    index index.html;
    root /var/hexo;
    error_page 404 = /404.html;
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    #杂七杂八
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|)$
    {
        expires      30d;
        error_log /dev/null;
        access_log off;
    }
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log off;
    }
    access_log  /tmp/log/access.log;
    error_log  /tmp/log/chenlvtang.top.error.log;
}
这里设置了default,访问IP的时候默认会访问这个站点,但是可能会和nginx.d中的 include /etc/nginx/sites-enabled/*冲突,所以记得注释掉。
配置SSL
上传SSL配置的key和pem到某个文件
if ($server_port !~ 443){ #强制https
    rewrite ^(/.*)$ https://$host$1 permanent;
}
ssl_certificate    /xxx/foo.pem;
ssl_certificate_key   /xxx/bar.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497  https://$host$request_uri;
域名解析
登上购买域名的账号,把域名重新解析到新服务器,等上个几分钟,ping一下看看,有没有更改IP成功。至此,迁移就差不多结束了😋。