服务器迁移笔记

小水管不够用了,新买了大水管

然后本社恐不想和人打交道,遂放弃腾讯云的自动迁移,而是手动迁移


目录

主要分为以下步骤

  1. 基本环境配置
  2. mysql 配置
  3. redis 配置
  4. 域名解析配置
  5. 本来应该有 kafka 之类的消息队列配置,但是我现在还没用过,以后再说吧
  6. serverless(没配,有朝一日再写

基本环境配置

安全组

默认是全开,这肯定不行,建议开以下端口

协议 端口 描述
ICMP - 支持 Ping 服务
ICMPv6 - 支持 Ping 服务
TCP 20 ftp 连接端口
TCP 21 ftp 数据端口
TCP 22 ssh 登录端口
TCP 80 网站默认端口
TCP 443 ssl 默认端口
TCP 3306 mysql 默认端口
TCP 3389 windows 登录端口
TCP 6379 redis 默认端口
TCP (任意端口段) 自己的服务想用的端口
- 其余端口 均拒绝

root 账户

总不能跟我说你愿意每次命令都打个 sudo 吧,你愿意我也不愿意

首先,执行

1
sudo passwd root

更改 root 用户的密码

然后修改文件 /etc/ssh/sshd_config

在文件中找到这两行

1
2
LoginGraceTime 2m
PermitRootLogin yes

这两行本来有注释,把注释号删掉,然后把 PermitRootLogin 字段值改为 yes 就行

然后重启服务器,用 root 用户登录,就可以不用每个命令都打 sudo 了

docker

都是依赖 docker 做容器隔离的,没有 docker 怎么行

ubuntu 安装直接运行

1
curl -sSL https://get.daocloud.io/docker | sh

即可

然后用

1
docker run hello-world

验证安装

mysql

我的系统是 ubuntu,千万千万不要用 linux 的方法,ubuntu 不完全一样

直接运行

1
apt-get install mysql-server

即可

然后进行配置

初始化配置:mysql_secure_installation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#1
VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: N (选择N ,不会进行密码的强校验)

#2
Please set the password for root here...
New password: (输入密码)
Re-enter new password: (重复输入)

#3
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (选择N,不删除匿名用户)

#4
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N (选择N,允许root远程连接)

#5
By default, MySQL comes with a database named 'test' that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (选择N,不删除test数据库)

#6
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (选择Y,修改权限立即生效)
————————————————
版权声明:本文为CSDN博主「風の住む街~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38924500/article/details/106261971

之后检查服务起了没有

1
systemctl status mysql.service

接下来,为了 navicat 可以连接上需要改绑定配置

进入目录 /etc/mysql/mysql.conf.d,打开文件 mysqld.cnf

找到字段 bind-address,直接注释掉

然后通过终端进入 mysql

1
mysql -u root -p

接下来查看 root 用户状态

1
2
mysql> use mysql;
mysql> select host,user,plugin from user;

如果在 user=root 的行,host 字段值不为 %,plugin 字段值不为 mysql_native_password,那就需要修改配置

1
2
3
4
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;
UPDATE user SET host = '%' WHERE user = 'root';
UPDATE user SET plugin='mysql_native_password' WHERE user='root'

然后重启 mysql,就可以用 navicat 登录了

redis

先安装一下

1
apt install redis-server

好了,安装完毕,通过

1
redis-server

即可启动 redis 服务,然后通过

1
redis-cli

即可连接到 redis 服务

然后是改配置文件

和mysql 的 bind-address 差不多,redis 配置文件也有一个 bind 属性

打开 /etc/redis/redis.conf,找到 bind 127.0.0.1 ::1,然后注释掉这一行

然后执行

1
redis-server restart

重启服务

接下来进入 redis,执行

1
config set requirepass '密码'

即可设置 redis 的密码,之后所有操作都要先用 auth 验证密码才行

域名

建议直接暂停解析

然后访问域名,确定域名解析真的已经停止了

然后修改解析值,再重新发布

就可以了


感谢阅读

--It's the end.Thanks for your read.--