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成功。至此,迁移就差不多结束了😋。