今天日常备份博客,结果100多m的备份文件,小水管50kb下了二十多分钟,哭了。一气之下提交工单退了阿里云的ECS,换到了轻量服务器。于是开始了漫长的搬家之路。
封面图:bilibili拜年祭的明信片 / oO大黄Oo #pixiv
搬家
1.备份数据
- 备份网站
- 备份数据库
- 备份oh my zsh 配置
漫长的下载……
2.工单申请退款
工单提“从学生ECS换到轻量,请帮忙退款”,耗时一个小时。
参考下退款成功的回复:
您好,退款操作会释放您的业务,业务内所有数据将会清空。 如您确认请继续如下操作 经特殊申请,您的服务: (已删除)
退订剩余使用时长申请已经进入流程,退款链接如下: (已删除)
请您尽快打开此链接确认提交退款,退款金额以您打开此链接时系统显示的金额为准,款项大约会在2个工作日内退回(若有代金券支付,代金券支付部分无法退回)。
注:
1、请您务必核对链接中的实例信息与您需要退款的实例是否相符。
2、关于退款费用:2017 年 8 月 12 日以后的订单,且订单支付成功后三个月内办理的退款,退款至原支付途径,订单支付三个月后的业务退款、历史订单退款以及退款至原支付途径失败的情况仍退回账户余额。如要提现请参考: https://help.aliyun.com/knowledge_detail/37095.html
3、请您不要对业务再进行升级或续费操作,退款成功后,会自动扣减您的可开发票额度,退款订单请勿申请发票,以免可开票额度为负数时影响您的提现申请。
3.购买学生轻量服务器
找不到可以在阿里云首页直接搜“学生机”,9.9一个月。只是放博客的话轻量服务器绝对够用。
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
Ubuntu的脚本不行了,换用Debian
bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -d 10 -v 64 -a
全自动安装默认用户名:root
,密码:MoeClub.org
,安装完成后立即更改密码。
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
apt-get install git
安装Oh My Zsh
bash -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
国内服务器用这个方法安装:
git clone https://ghproxy.com/https://github.com/ohmyzsh/ohmyzsh.git .oh-my-zsh
cd .oh-my-zsh/tools
sh install.sh
下面配置参考:我的zsh终端配置
安装需要的插件
zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
国内机
git clone https://ghproxy.com/https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
国内机
git clone https://ghproxy.com/https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
autojump
apt install -y autojump
增加常用命令快捷方式
alias setproxy="export ALL_PROXY=socks5://127.0.0.1:1080" //设置系统代理
alias unsetproxy="unset ALL_PROXY" //关闭系统代理
alias ip="curl -i https://ip.cn" //查看当前ip
alias pc="proxychains" //便于使用proxychains
alias setwww="chmod 755 -R /home/wwwroot && chown www:www -R /home/wwwroot" //设置网站目录的所有者与权限
里头有个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
重启以生效
#ubuntu
service ssh restart
#debian
/etc/init.d/ssh restart
8.修改端口
修改/etc/ssh/sshd_config,在Port 22下添加你的端口
#Port 22
Port YOUR_PORT
重启ssh
service ssh restart
ssh成功连接新的端口后,把22端口注释掉
9.安装lnmp
直接安装lnmp 1.7,参考:lnmp 1.7
安装screen
apt-get install screen
安装完毕,执行
screen -S lnmp
如果网络掉线,可以重新连接SSH,再执行screen -r lnmp
就会看到你的lnmp安装进程。
接着开始安装lnmp 1.7
wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp
配置略过,MySQL选择默认,PHP选择最新。数据库密码与原ECS相同方便恢复博客。
这里又是漫长的等待…
lnmp安装完毕,开始恢复站点。
10.恢复站点
把备份好的网站上传到服务器
上传的时候实在纳闷,明明图片不在服务器里备份文件为什么这么大,才发现是Exsearch插件的静态缓存,有110M…
11.恢复数据库
导入备份的SQL文件
恢复数据库时可能会出现
变量 $cfg['TempDir'] (./tmp/)无法访问
只要给tmp
正确的权限就好了,重启Nginx使改动生效
lnmp nginx restart
12.申请泛域名证书
安装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目录,需要手动新建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/说明
额外的东西
1.网站备份至又拍云
直接使用git clone整个库
git clone https://github.com/kzw200015/backup2upyun.git
安装 python 环境
apt install -y python3
进入脚本目录
cd /root/backup2upyun
安装依赖
apt install -y python3-pip
pip3 install upyun progressbar
把配置文件复制一份
cp config.py.example config.py
按照config.py
内的说明进行配置
赋予执行权限
chmod +x main.py
执行脚本
./main.py
用cron
实现 执行crontab -e
,加入以下内容
LANG='en_US.UTF-8'
LC_ALL='en_US.UTF-8'
0 2 * * * /root/backup2upyun/main.py
2.安装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
3.安装H5ai
下载 h5ai 安装包,这里使用大佬的修改版:https://github.com/Pearlulu/h5ai_dplayer_hls
安装imagemagick
以开启PDF预览
apt install -y imagemagick
安装ffmpeg
apt install -y ffmpeg
去除被禁用的 PHP 函数:
vim /usr/local/php/etc/php.ini
搜索scandir、exec、passthru
,将其从被禁用的函数中删除
不重装PHP安装EXIF扩展,具体参考:h5ai 一个简洁强大的网页列目录程序
记不住的命令
1. 压缩
tar cvfz xxx.tar.gz /xxx/
2. 解压
tar -zxvf xxx.tar.gz
tar -jxvf ×××.tar.bz2
大功告成,写篇水文备份留着下次搬家用…
本文作者:mikusa
本文链接:https://www.himiku.com/archives/replace-my-server.html
版权声明:所有文章除特别声明外均系本人自主创作,转载及引用请联系作者,并注明出处(作者、原文链接等)。
我现在是树莓派+穿透+公网ipv6,感觉比便宜的云主机舒服,备份也比云主机方便(直接dd全盘拷一个,系统/环境炸了直接换卡不带怕的)
真好鸭,只是我不会树莓派,没有公网IP…
还是学生机吧!(真香!
其实现在win10自带ssh了,密钥对可以在本地生成,这样也方便点
ECS的客服还是很好的,我也退款过两次,两次都说特殊处理,但都给退了~我不是买3年我也换到轻量~OωO
还是静态博客好呀,不用这么折腾~
呜呜呜…Hexo不是很会用…
我一般备份到七牛云,然后恢复时在七牛云下载就快很多了
备份到七牛的脚本挂了……数据不够新(╯°A°)╯︵○○○
一想到研究生还能蹭三年十块钱的学生机,考研的信心立马就来了(๑•̀ㅁ•́ฅ)
啊……考研……
 ̄﹃ ̄ 表示作为一个懒人一直不太会搞服务器什么的都是拜托友人解决……mikusa现在用的服务器是多少钱啊|´・ω・)ノ
9.5的学生机
怎么现在搬到学生机了
学生机便宜还快,关键是便宜(๑•̀ㅁ•́ฅ)
我也刚刚搬完家,但是宝塔不是可以一键迁移吗、、、
不是用宝塔呀……
大佬写技术文章了
这也算的嘛