给小站搬了个家

我真傻,真的,我单知道要备份,却不知道备份那么大是因为缓存…

今天备份文件的时候,100多m的文件小水管50kb下了二十多分钟,哭了。一气之下提交工单退了阿里云的ECS,换到了轻量服务器。于是开始了漫长的搬家之路。

封面图:bilibili拜年祭的明信片 / oO大黄Oo #pixiv


1.备份数据

  1. 备份网站
  2. 备份数据库
  3. 备份SSL证书
  4. 备份acme脚本
  5. 备份站点文件
  6. 备份oh my zsh

漫长的下载……

2.工单申请退款

工单提“从学生ECS换到轻量,请帮忙退款”,耗时一个小时。

参考下退款成功的回复:

您好,退款操作会释放您的业务,业务内所有数据将会清空。 如您确认请继续如下操作 经特殊申请,您的服务: (已删除)
退订剩余使用时长申请已经进入流程,退款链接如下: (已删除)
请您尽快打开此链接确认提交退款,退款金额以您打开此链接时系统显示的金额为准,款项大约会在2个工作日内退回(若有代金券支付,代金券支付部分无法退回)。 
注: 
1、请您务必核对链接中的实例信息与您需要退款的实例是否相符。 
2、关于退款费用:2017 年 8 月 12 日以后的订单,且订单支付成功后三个月内办理的退款,退款至原支付途径,订单支付三个月后的业务退款、历史订单退款以及退款至原支付途径失败的情况仍退回账户余额。如要提现请参考: https://help.aliyun.com/knowledge_detail/37095.html 
3、请您不要对业务再进行升级或续费操作,退款成功后,会自动扣减您的可开发票额度,退款订单请勿申请发票,以免可开票额度为负数时影响您的提现申请。

3.购买学生轻量服务器

找不到可以在阿里云首页直接搜“学生机”

4.重装系统

想试试纯净的Ubuntu系统,于是要重新安装系统。

参考:Debian/Ubuntu/CentOS 网络安装/重装系统/纯净安装 一键脚本

在待重装系统上安装所需文件:

#Debian/Ubuntu:
apt-get install -y xz-utils openssl gawk file

#RedHat/CentOS:
yum install -y xz openssl gawk file

出错的话,运行

#Debian/Ubuntu:
apt-get update

#RedHat/CentOS:
yum update

随后,安装新系统

bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -u 18.04 -v 64 -a

全自动安装,等待安装完毕
全自动安装默认用户名:root,密码:Vicer,安装完成后立即更改密码.

5.修改Linux密码

试试看是不是root登录

sudo su root

看来是root,继续修改密码

passwd root

连续输入两次相同的密码,输入时不会显示

Enter new UNIX password: 
Retype new UNIX password:

下次连接服务器生效

6.安装 oh my zsh

我想试试代码高亮。对我没什么用就是了

安装zsh

apt install -y zsh

可能需要安装git

sudo apt-get install git

安装Oh My Zsh

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

配置参考:我的zsh终端配置

里头有个setwww,可能会提示chown: changing ownership of /home/wwwroot/default/.user.ini’: Operation not permitted`,可以执行以下命令:

chattr -i /home/wwwroot/domain.com/.user.ini

setwww

7.使用SSH key登录Ubuntu

$ ssh-keygen -t rsa

这里可以一路回车

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.#这是私钥
Your public key has been saved in /root/.ssh/id_rsa.pub.#这是公钥
The key fingerprint is:

私钥下载到本地电脑妥善保存,为安全起见,删除服务器端的私钥。

将公钥导入到系统中:

$ cd .ssh
$ cat id_rsa.pub >> authorized_keys

修改SSH的配置文件/etc/ssh/sshd_config

56 # To disable tunneled clear text passwords, change to no here!
57 PasswordAuthentication #默认PasswordAuthentication 为yes,即允许密码登录,改为no后,禁止密码登录
58 #PermitEmptyPasswords no

重启以生效

service sshd restart #centos系统
service ssh restart #ubuntu系统
/etc/init.d/ssh restart #debian系统

8.修改端口

修改/etc/ssh/sshd_config,在Port 22下添加你的端口

#Port 22
Port YOUR_PORT

重启ssh

service ssh restart

ssh连接新的端口,成功连接后修改上面的配置把22端口注释掉

9.安装lnmp

直接安装lnmp 1.6测试版,参考:lnmp 1.6 测试版

安装screen

apt-get install screen

安装完毕,执行

screen -S lnmp

如果网络掉线,可以重新连接SSH,再执行screen -r lnmp就会看到你的lnmp安装进程。

接着开始安装lnmp 1.6

wget http://soft.vpser.net/lnmp/lnmp1.6beta.tar.gz -cO lnmp1.6beta.tar.gz && tar zxf lnmp1.6beta.tar.gz && cd lnmp1.6 && ./install.sh lnmp 

配置略过,MySQL选择默认,PHP选择最新。数据库密码与原ESC相同方便恢复博客。

这里又是漫长的等待…

lnmp安装完毕,开始恢复站点。

10.恢复站点

把备份好的网站上传到服务器

上传的时候实在纳闷,明明图片不在服务器里备份文件为什么这么大,才发现是Exsearch插件的静态缓存,有110M…

11.恢复数据库

导入备份的SQL文件
恢复数据库时可能会出现

变量 $cfg['TempDir'] (./tmp/)无法访问

只要给tmp正确的权限就好了
重启Nginx使改动生效

lnmp nginx restart

12.网站备份至七牛云

使用半吊子的静树的脚本:备份网站至七牛云

GitHub:https://github.com/kzw200015/backup-qiniu
照着文档做就行。

13.安装Aria2

先安装Aria2后端,用的是逗比的脚本

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh

按照指示做。
再下载管理面板,AriaNg是一个前端(HTML+JS静态)控制面板

https://github.com/mayswind/AriaNg

14.申请泛域名证书

安装acme.sh

curl  https://get.acme.sh | sh 

使用dns方式验明域名所有权,这里以dnspod为例

export DP_Id="123456"\
export DP_Key="sADDsdasdgdsf"

签发泛域名证书

acme.sh --issue --dns dns_dp -d '*.example.com' -d example.com

签发的证书一般是默认生成在root/.acme.sh/下,为安全起见,不要直接使用这里的证书,而是复制到nginx下的ssl目录

acme.sh  --installcert  -d  '*.example.com'   \
         --key-file   /usr/local/nginx/conf/ssl/example.com/example.com.key \
         --fullchain-file /usr/local/nginx/conf/ssl/example.com/fullchain.cer \
         --reloadcmd  "lnmp nginx restart"

如要申请ECC证书,只要在末尾添加 --keylength ec-256

acme.sh --issue --dns dns_dp -d '*.example.com' -d example.com --keylength ec-256

复制证书只要加个--ecc

acme.sh  --installcert  -d  '*.example.com' --ecc   \
         --key-file   /usr/local/nginx/conf/ssl/example.com/example.com_ecc.key \
         --fullchain-file /usr/local/nginx/conf/ssl/example.com/fullchain_ecc.cer \
         --reloadcmd  "lnmp nginx restart"

证书在 60 天以后会自动更新, 无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的
可以用这个命令检查

acme.sh --renew-all

建议开启自动更新

acme.sh  --upgrade  --auto-upgrade

具体参考:https://github.com/Neilpang/acme.sh/wiki/说明

15.安装H5ai

下载 h5ai 安装包:https://larsjung.de/h5ai/
安装 ImageMagick以开启PDF 略缩图

sudo apt-get install imagemagick #Ubuntu/Debian

具体参考:h5ai 目录列表程序完整安装使用教程


大功告成,写篇水文备份留着下次搬家用…

Comments

添加新评论

已有 18 条评论

其实现在win10自带ssh了,密钥对可以在本地生成,这样也方便点

ECS的客服还是很好的,我也退款过两次,两次都说特殊处理,但都给退了~我不是买3年我也换到轻量~OωO

还是静态博客好呀,不用这么折腾~

Mikusa Mikusa 回复 @蝉時雨

呜呜呜…Hexo不是很会用…

我一般备份到七牛云,然后恢复时在七牛云下载就快很多了

Mikusa Mikusa 回复 @左岸

备份到七牛的脚本挂了……数据不够新(╯°A°)╯︵○○○

一想到研究生还能蹭三年十块钱的学生机,考研的信心立马就来了(๑•̀ㅁ•́ฅ)

Mikusa Mikusa 回复 @Gazzz

啊……考研……

 ̄﹃ ̄ 表示作为一个懒人一直不太会搞服务器什么的都是拜托友人解决……mikusa现在用的服务器是多少钱啊|´・ω・)ノ

Mikusa Mikusa 回复 @Broca-Phenol

9.5的学生机

怎么现在搬到学生机了

Mikusa Mikusa 回复 @AppleMiku

学生机便宜还快,关键是便宜(๑•̀ㅁ•́ฅ)

我也刚刚搬完家,但是宝塔不是可以一键迁移吗、、、

Mikusa Mikusa 回复 @Lesun

不是用宝塔呀……

大佬写技术文章了

Mikusa Mikusa 回复 @熊猫小A

这也算的嘛

  1. 1
  2. 2