服务器迁移记录

昨天收到Google日历的提醒DO学生认证赠送的额度要开始用了,这两天就开始准备对服务器进行迁移,当然在此之前需要重新配置一下新的服务器。

Header photo:【東京幻想】「平成の終わり」/「東京幻想」的插画 [pixiv]

更换服务器的原因主要有三个:

  • VULTR东京节点晚高峰丢包爆炸,严重时甚至超过30%
  • 网站曾经直连服务器,在censys上被记录
  • 分配到的ip能上p站,但是ssr和ssh端口经常被封(VULTR日本的不少IP是不能访问pixiv的)
    虽说Digital Ocean作为机场胜地也好不到哪儿去,不过免费的余额不用掉总是感觉亏了(笑),一年后再换搬瓦工CN2 GIA

配置环境

服务商:Digital Ocean
RAM:1G
CPU:Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
SSD:20G
系统:CentOS 7.6

安装常用组件

算是个人必备的常用组件,直接全装上。

yum -y install wget npm vim git lrzsz screen zip unzip gzip

修改SSH配置

SSH默认端口通常为22,常会被撞库攻击,换一个ssh端口免得密码被破→钱包破产/VPS被封。由于现在的DO防火墙配置较复杂,所以懒癌选择用ssh key免密码登录;不过部分服务商默认不提供ssh key方式,所以还是写一下改端口方法。
编辑配置文件sshd_config。直接vim /etc/ssh/sshd_config即可。通常在第13行,将#Port22的注释去掉,修改为其他端口,个人偏向于五位数端口,如改为Port 19810。wq保存退出,先不要断开ssh连接

修改端口配置

将不用的端口关闭以免被攻击,并且打开自己所需的端口。因为上文中配置文件里已经取消了22端口,如果不添加修改后的端口会导致断开后无法远程ssh连上主机。
通常情况下,CentOS 7开启或关闭端口的指令如下:

添加端口:firewall-cmd --zone=public --add-port=80/tcp --permanent(不加permanent重启后失效,下同)
删除端口:firewall-cmd --zone=public --remove-port=80/tcp --permanent
完成后使用firewall-cmd --reload重载防火墙规则。
查看特定端口情况:firewall-cmd --zone=public --query-port=80/tcp
查看已开启端口:firewall-cmd --zone=public --list-ports

LNMP/LAMP

可以考虑使用一键安装包,购买了宝塔面板的可以考虑宝塔。
安装时间会比较长,建议安装前先screen -S install建立一个独立窗口防止中途连接断开。
可以参考下面的链接:LNMP LAMP

SS+BBR

“我可以不用,你不能没有”,在LNMP安装过程中顺便装一下。
这里均使用秋水逸冰的脚本,参考链接:SS BBR
Linux的SS客户端除libev版本外均已停更,尽量安装libev版本。
BBR安装完成后需要重启生效,重启前请务必检查LNMP/LAMP是否已经安装完成!

ASF

steam挂卡用
使用steamcn 总是那么无语 的一键安装脚本,可以自动安装相关依赖

wget -O ASF-install.sh https://raw.githubusercontent.com/zsnmwy/ArchiSteamFarm-Install-Script/master/install.sh && bash ASF-install.sh

参考链接:github

LNMP添加网站

lnmp vhost add

添加完成后,为了禁止IP直接访问,使用指令vim /usr/local/nginx/conf/nginx.conf修改nginx.conf文件,找到

server
        {
        listen 80 default_server ;

在下方添加以下字段:

        if ($host ~ "\d+\.\d+\.\d+\.\d") {
           return 400;
    }
    return 301;

复制网站文件

将源文件全部搬到新网站文件夹下,git同步或FTP下载到本地再上传均可。

数据库

进入原服务器phpmyAdmin,导出帐户(SQL语句)、数据库(.sql文件)。将导出的文件和语句暂存。
在域名服务商面板中更改phpMyAdmin的解析,不多说。
等待解析更新后,进入phpMyAdmin。
导入帐户:执行帐户导出使提供的SQL语句。
导入数据库:创建空typecho数据库。

CREATE DATABASE typecho

创建数据库后,使用sql文件将数据导入对应的数据库中。
PS:如果有其他数据库的话,方法相同

完工

修改主站解析,待解析生效后进入,测试登录、创建文章、修改文章、修改typecho设置、评论文章等功能,均正常后就可以把全部解析修改到新服务器上了。
给VULTR的服务器留个快照,权当纪念。
snapshot
手动destroy VULTR的服务器。
destroy

Last modification:August 18th, 2019 at 10:58 pm

Leave a Comment