不知为何,某一个用来搭梯子的美国节点的vps今天被墙了,然后这个网站也是部署在那台vps上的,于是也光荣地牺牲了。想一想国内的vps只买了腾讯云的一台,于是只能再麻烦一次把网站迁移到腾讯云上了。所以记录一下迁移过程。
在本地上传ssh公钥
1 | ssh-copy-id -i ~/.ssh/id_rsa.pub root@123.207.143.168 |
下面的操作未特别说明的话都是登录服务器在服务器上进行操作
安装git和nginx
服务端更新
1 | sudo apt-get update |
服务端安装git和nginx
1 | sudo apt-get install git-core nginx |
配置git
初始化git仓库
1 | mkdir hexo.git |
创建网站目录
1 | cd /var/www |
配置git hooks
1 | cd ~/hexo.git/hooks |
写入post-receive文件
1 | vim post-receive |
文件内容:
1 | GIT_REPO=~/hexo.git |
赋予post-receive可执行权限
1 | chmod +x post-receive |
配置nginx
将ssl证书上传到vps上
1 | scp ~/Desktop/214812723670307.* root@123.207.143.168:/etc/nginx/cert |
配置hexo的nginx配置文件
1 | vim /etc/nginx/conf.d/hexo.conf |
文件内容:
1 | server { |
修改nginx默认监听端口
修改/etc/nginx/sites-available/default
和/etc/nginx/sites-enabled/default
的80端口为1000以上的端口,否则和/etc/nginx/conf.d/hexo.conf
中监听同一个端口会导致冲突。
将/etc/nginx/sites-available/default
和/etc/nginx/sites-enabled/default
文件中的
1 | server { |
修改成
1 | server { |
重启nginx
1 | /etc/init.d/nginx restart |
修改部署位置重新部署
修改本地源码中hexo根目录下的_config.yml的deploy
1 | deploy: |
删除部署文件,再重新部署
1 | rm -rf .deploy_git/ |
修改域名解析
部署位置变化相应地也要在购买域名的官网的域名管理面板上修改域名解析。
至此就全部完成了。