2022-10-23 记:
阿里云新用户优惠活动购买的3年ECS服务器即将到期,新发现华为有新用户活动,118购买一个月送一年,果断入手。记录一下迁移过程~
0.前提
配置:2vCPUs | 4GiB
操作系统:CentOS 7.9 64bit
带宽:1 Mbit/s
1.yum源切换
- 1.华为云服务器安装后,centos源默认已切换为:
repo.huaweicloud.com
- 2.添加EPEL:华为云服务器安装后默认已内置
- 3.清除原有yum缓存
yum clean all
- 4.刷新缓存
yum makecache
2.中文显示(非必需)
#检查当前环境(如果已经是zh_CN.UTF-8则无需处理了)
localectl status
#安装中文字体
yum groupinstall "fonts" -y
#列出所有可用的公共语言环境的名称
locale -a |grep "zh_CN"
#设置locale,配置文件在 /etc/locale.conf(也可以直接修改配置文件)
localectl set-locale LANG=zh_CN.UTF-8
# 如果以上不生效
echo 'export LC_ALL="zh_CN.UTF-8"' >> /etc/profile
source /etc/profile
echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
source /etc/locale.conf
#需要重启
reboot
#
localectl status
#如果还是无法显示中文,则可能是缺少中文字体
yum -y install fontconfig
fc-list :lang=zh
3.启动方式
# 查看默认启动方式是否是图形化界面
systemctl get-default
# 华为镜像默认即为:命令行模式
# systemctl set-default multi-user.target
4.开启SSH
默认已开启,端口为:22,需要修改下
## 1、查看ssh服务是否启动
systemctl status sshd.service
## 2、修改配置
vi /etc/ssh/sshd_config
## 3、修改完配置后需要重新启动
systemctl restart sshd.service
## 4、设置开机启动
systemctl enable sshd.service
## 使用云服务器提供的安全组,无需配置防火墙(默认安全组只放行了端口22,也需要同步修改)
5.迁移系统配置
- 系统配置
- 环境变量
- Nginx
已按 conf.d 目录拆分成小的配置,更便捷。
- crontab
- JDK
6.迁移数据库
6.1 mysql
- 1、安装MySQL 8.0
参考:CentOS 7 安装 MySQL 8.0及常见问题 - 2、
/etc/my.cnf
- 3、halo库
- 4、触发器
- 5、备份
- 6、配置忽略大小写
尽量在安装的时候,启动前就配置好(需要手动init,不能直接启动服务),中途修改会无法启动(注意备份数据)。
[mysqld] lower_case_table_names=1
注意:官网上明确指出mysql8.x只有在初始化时才能设置忽略大小写。地址:
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_lower_case_table_names。
如果已经安装好,需要卸载掉重新安装,修改完my.cnf,先重新初始化,再启动,注意备份数据。。
初始化命令:
mysqld --user=mysql --lower_case_table_names=1 --initialize-insecure --datadir=/var/lib/mysql
7.迁移博客
- .halo
- halo.service --> /etc/systemd/system/halo.service
- 主题
- 文件备份等
8.迁移其他程序
8.1 jenkins
安装配置参考:CentOS 安装 Jenkins 及 国内下载加速
使用备份 ThinBackup 恢复时尽量保持版本一致,如果恢复后看不到job,
可尝试修改:/var/lib/jenkins/users/users.xml 中带数字的名字部分,如果还不行,可尝试恢复整个 /var/lib/jenkins/ 目录。
8.2 Nginx
Nginx 顺道直接拆分为 conf.d 目录下单个配置文件,更直观,修改也更方便。
8.3 其他
- backup2oss
- frp
配置成服务化
vi /etc/systemd/system/frps.service[Unit] Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple ExecStart = /opt/frp/frps -c /opt/frp/frps.ini [Install] WantedBy = multi-user.target
systemctl daemon-reload
systemctl enable frps - certbot
yum install certbot -y
- certbot-alidns
- certbot-alydns
- Python、Python3
- node
yum install nodejs -y
yum install npm -y - backup
- bin
- /etc/bashrc
## java export JAVA_HOME=/opt/java/jdk-17 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=/opt/java/apache-maven-3.8.6/bin:$PATH ## aliyun export CERTBOT_ALI_KEY= export CERTBOT_ALI_SECRET= ## qiniu export QINIU_ACCESS_KEY="" export QINIU_SECRET_KEY=""
- sherlock
- docker
- maven、gradle
curl -s “https://get.sdkman.io” | bash
source “$HOME/.sdkman/bin/sdkman-init.sh”
sdk version
sdk list gradle
sdk install gradle 5.6.4 - Go
yum install -y golang
- halo-es 搜索 数据库地址变更
Q.E.D.