--
:
--
:
--
hugo-teek is loading...
更换云服务器要做的事儿
最后更新于:
更换云服务器要做的事儿

目录
[toc]
云服务器文件

使用方法
1将 新购买的云服务器ip地址 替换为 实际ip
腾讯轻量云服务器信息

自己云服务器提供的服务
| 域名 | 备注 | 部署方式 |
|---|---|---|
| https://onedayxyy.cn/ | teek博客 | cnb+pages |
| https://hugo-teek.onedayxyy.cn/ | hugo-teek博客 | cnb+pages |
| https://img.onedayxyy.cn/ | nginx图床🍊(重要) | 云服务器 nginx |
| https://twikoo.onedayxyy.cn/ | twikoo评论 | 云服务器 docker |
| https://umami.onedayxyy.cn/ | umami统计 | 云服务器 docker |
| https://status.onedayxyy.cn/ | Uptime Kuma服务监控 | 云服务器 docker |
| https://zdir.onedayxyy.cn/ | zdir云盘 | 云服务器 docker |
| https://imgapi.onedayxyy.cn/ | go壁纸api服务 | 云服务器go服务 |
✅允许all端口通行(新购买的云服务器)

✅做下老云服务器到新云服务器的免密
1##在老云服务器配置
2ssh-keygen #如果存在可忽略
3ssh-copy-id -i ~/.ssh/id_rsa.pub root@新购买的云服务器ip地址 # 这条命令是写到服务器上的ssh目录下去了
4
5#测试
6ssh root@新购买的云服务器ip地址 ls /root
✅配置基础环境
1#关闭且禁用如下服务:firewalld、NetworkManager、selinux
2systemctl stop firewalld && systemctl disable firewalld
3systemctl stop NetworkManager && systemctl disable NetworkManager
4
5hostnamectl set-hostname hg-ec
6
7setenforce 0
8sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
9
10#网络yum配置及常用软件安装
11cd /etc/yum.repos.d/
12mkdir backup-`date +%F`
13mv * !$
14#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
15curl -o /etc/yum.repos.d/CentOS-Base.repo https://img.onedayxyy.cn/images/Centos-7.repo
16yum clean all
17yum makecache
18
19yum install -y epel-release
20
21yum install -y net-tools
22yum install -y vim
23yum install -y wget
24yum install -y lrzsz
25yum install -y tree
26yum install -y sl
27
28#配置命令行提示颜色
29echo 'PS1="\[\e[1;32m\][\[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"' > /etc/profile.d/env.sh
30
31##关闭UseDNS
32sed -i 's/^#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
33
34
35
36
37##配置.vimrc
38tee -a ~/.vimrc << 'EOF'
39set ts=4
40set expandtab
41set ignorecase
42set cursorline
43set autoindent
44set paste
45autocmd BufNewFile *.sh exec ":call SetTitle()"
46func SetTitle()
47 if expand("%:e") == 'sh'
48 call setline(1,"#!/bin/bash")
49 call setline(2,"#")
50 call setline(3,"#***************************************************************")
51 call setline(4,"#Author: hg" )
52 call setline(5,"#QQ: 2675263825")
53 call setline(6,"#Date: ".strftime("%Y-%m-%d"))
54 call setline(7,"#FileName: ".expand("%"))
55 call setline(8,"#URL: https://www.onedayxyy.cn")
56 call setline(9,"#Description: The test script" )
57 call setline(10,"#Copyright (c) : ".strftime("%Y")." All rights reserved")
58 call setline(11,"#***************************************************************")
59 call setline(12,"")
60 endif
61endfunc
62autocmd BufNewFile * normal G
63EOF
64
65
66
67##配置查找有效配置别名
68echo "alias gg='grep ^[^#]'" >> /etc/profile #只查找有效配置
69source /etc/profile
70gg /etc/profile
✅配置nginx
1##(1)配置nginx
2#添加 Nginx 官方仓库
3tee -a /etc/yum.repos.d/nginx.repo << 'EOF'
4[nginx]
5name=nginx repo
6baseurl=https://nginx.org/packages/centos/$releasever/$basearch/
7gpgcheck=0
8enabled=1
9EOF
10
11#安装 Nginx
12yum install nginx -y
13
14#启动 Nginx 服务并设置开机自启
15systemctl start nginx
16systemctl enable nginx
17
18
19
20
21##(2)拷贝nginx配置文件到新服务器
22ssh root@新购买的云服务器ip地址 rm -rf /etc/nginx/conf.d/*
23scp /etc/nginx/conf.d/ root@新购买的云服务器ip地址:/etc/nginx/conf.d/
24
25ssh root@新购买的云服务器ip地址 rm -rf /etc/nginx/nginx.conf
26scp /etc/nginx/nginx.conf root@新购买的云服务器ip地址:/etc/nginx/
27
28scp -rCp /etc/letsencrypt root@新购买的云服务器ip地址:/etc/ #https证书
29
30#关停老服务器的nginx服务:
31systemctl stop nginx
32
33##配置阿里云域名解析(自己在腾讯eo上配置)
34
35
36##重启新服务器上的nginx服务
37systemctl restart nginx
✅配置rsync
1#(1)服务端配置,安装rsync
2# 检查是否安装了 rsync
3rpm -qa|grep rsync
4
5# 如果没有安装的话,进行安装
6yum install rsync -y
7
8# 将 rsync 设置成开启自启,并启动
9systemctl enable rsyncd
10systemctl start rsyncd
11
12systemctl restart rsyncd
13
14
15
16#(2)拷贝老云服务器的rsync配置文件到新云服务器
17#老云服务器上配置
18ssh root@新购买的云服务器ip地址 rm -rf /etc/rsyncd.conf
19scp /etc/rsyncd.conf root@新购买的云服务器ip地址:/etc/
20scp /etc/rsyncd.passwd root@新购买的云服务器ip地址:/etc/
21
22ssh root@新购买的云服务器ip地址 systemctl restart rsyncd #重启服务
✅迁移nginx图床
1##(1)新云服务器上创建
2mkdir /images
3
4
5##(2)同步命令:从win上同步到linux
6rsync.exe -avPzruh --delete --port 8730 --password-file=/cygdrive/d/vitepress-theme-teek-one-private/shell/password.txt /cygdrive/D/images root@新购买的云服务器ip地址::cmi-MdImages/
7
8##(3)在云服务器上监控传输进度
9watch -n 1 -d "ls /images/images/ | wc -l; du -sh /images/images/"
10
11##(4)调整图床目录
12cd /images/
13mv images/* .
14rm -rf images
15
16##(5)在eo上配置新的服务器ip
17
18##配置本地win的bat脚本。
19##配置piclist里的服务器ip。
1.定时备份
从云服务器定时备份到本地。
1#本地目录
2D:\images
3
4#云服务器目录
5/images
6
7
8##同步命令
9rsync.exe -avPzruh --port 8730 --password-file=/cygdrive/d/vitepress-theme-teek-one-private/shell/password.txt root@106.75.214.199::cmi-MdImages/ /cygdrive/D/images
云服务器/etc/rsyncd.conf文件内容:
2025年7月22日更新:
1[root@wiki ~]# cat /etc/rsyncd.conf
2# /etc/rsyncd: configuration file for rsync daemon mode
3# See rsyncd.conf man page for more options.
4# 进行通信的端口,如果 firewall 打开的话,需要将对应的端口添加进去
5port=8730
6# 日志文件
7log file=/var/log/rsync.log
8# rsync 的进程 id
9pid file=/var/run/rsync.pid
10# 要同步的模块,这里一般以项目名命名
11
12
13#md图床数据
14[cmi-MdImages]
15# 同步的目标文件夹
16path=/images
17# rsync daemon 在传输前是否切换到指定的 path 目录下,并将其监禁在内,用于增加传输的安全性
18use chroot=no
19# 指定最大的连接数
20max connections=4
21# yes 表示只读本地文件无法同步到服务器
22read only=no
23# 客户端请求显示模块列表时,该模块是否显示出来
24list=true
25# 服务运行时的用户
26uid=root
27# 服务运行时的用户组
28gid=root
29# 进行验证时的用户名,必须是系统存在的用户
30auth users = root
31# 连接用户时的密码
32secrets file=/etc/rsyncd.passwd
33# 允许的 ip
34hosts allow=*
35
36
37
38[cmi-vitepress]
39# 同步的目标文件夹
40path=/root/rsync/rsync-vitepress
41# rsync daemon 在传输前是否切换到指定的 path 目录下,并将其监禁在内,用于增加传输的安全性
42use chroot=no
43# 指定最大的连接数
44max connections=4
45# yes 表示只读本地文件无法同步到服务器
46read only=no
47# 客户端请求显示模块列表时,该模块是否显示出来
48list=true
49# 服务运行时的用户
50uid=root
51# 服务运行时的用户组
52gid=root
53# 进行验证时的用户名,必须是系统存在的用户
54auth users = root
55# 连接用户时的密码
56secrets file=/etc/rsyncd.passwd
57# 允许的 ip
58hosts allow=*
- 每天定时从服务器备份到本地



2.手动备份
警告
每个月手动 完全备份 图床目录到百度云盘。

3.老版本
老版本图床数据:
如果自己md里有图片丢失,可以尝试从这个路径寻找图片。
1cmi-MdImages-local
2cmi-MdImages-local-20250306
32025.4.16-本次整理的大文件

4.使用原则
- 只允许存放图片、小文件;
- 大图片(大于10M的)禁止上传;
- 图片命名要规则;(例如
image-20250416113247755.png)
✅配置docker
1yum install -y yum-utils device-mapper-persistent-data lvm2
2yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3yum makecache
4
5#yum install docker-ce -y
6yum install -y yum install docker-ce-19.03.9 docker-ce-cli-19.03.9 containerd.io #指定需要安装的版本号
7systemctl start docker && systemctl enable docker
8
9docker version
10docker info
11
12
13sudo mkdir -p /etc/docker
14#这里的配置待更新
15sudo tee /etc/docker/daemon.json << 'EOF'
16{
17 "registry-mirrors": [
18 "https://docker.1ms.run",
19 "https://docker.1panel.live",
20 "https://docker.m.ixdev.cn",
21 "https://hub.rat.dev",
22 "https://dockerproxy.net",
23 "https://docker.hlmirror.com",
24 "https://hub1.nat.tf",
25 "https://hub2.nat.tf",
26 "https://hub3.nat.tf",
27 "https://hub4.nat.tf",
28 "https://docker.m.daocloud.io",
29 "https://docker.kejilion.pro",
30 "https://hub.1panel.dev",
31 "https://dockerproxy.cool",
32 "https://proxy.vvvv.ee"
33 ]
34}
35EOF
36
37
38cat /proc/sys/net/ipv4/ip_forward
39echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
40sysctl -p
41cat /proc/sys/net/ipv4/ip_forward
42
43systemctl daemon-reload
44systemctl restart docker
✅安装docker-compose
1##部署docker-compose
2#手动上传这个安装包 (从自己百度盘获取)
3#docker-compose-linux-x86_64
4cd /root
5wget https://img.onedayxyy.cn/images/docker-compose-linux-x86_64
6mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
7chmod +x /usr/local/bin/docker-compose #添加执行权限
8
9docker-compose --version
10#Docker Compose version v2.23.0
✅迁移docker数据
1##twikoo umami kamda zdir
2
3##(1)传输老的docker应用数据
4mkdir docker-service
5scp -rCp /root/zdir root@新购买的云服务器ip地址:/root/docker-service/
6scp -rCp /opt/zdir root@新购买的云服务器ip地址:/opt/
7scp -rCp /data root@新购买的云服务器ip地址:/
8
9
10scp -rCp /root/twikoo root@新购买的云服务器ip地址:/root/docker-service/
11scp -rCp /root/umami root@新购买的云服务器ip地址:/root/docker-service/
12scp -rCp /root/uptime-kuma root@新购买的云服务器ip地址:/root/docker-service/
13
14
15
16##(2)传输镜像
17docker save pub.tcp.mk/helloz/zdir imaegoo/twikoo louislam/uptime-kuma:1 ghcr.io/umami-software/umami:postgresql-latest postgres:13-alpine |gzip > oldEcsDockerImages.tar.gz
18
19scp oldEcsDockerImages.tar.gz root@新购买的云服务器ip地址:~
20
21docker load -i oldEcsDockerImages.tar.gz
✅配置下壁纸api服务
1##拷贝壁纸api目录
2mkdir /root/other-service
3scp -rCp /root/img-server root@新购买的云服务器ip地址:/root/other-service/
4scp -rCp /root/img-server-fxj root@新购买的云服务器ip地址:/root/other-service/
5
6
7##安装go环境
8wget https://img.onedayxyy.cn/images/go1.16.2.linux-amd64.tar.gz
9cd /root
10tar xf go1.16.2.linux-amd64.tar.gz -C /usr/local/
11
12mkdir -p /opt/goDir
13sudo tee -a /etc/profile <<'EOF' # 这里的单引号是关键!
14export GOROOT=/usr/local/go
15export GOPATH=/opt/goDir
16export PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin # 建议加上 GOPATH/bin(Go编译的二进制会放这)
17EOF
18
19source /etc/profile
20
21go env -w GO111MODULE=on
22go env -w GOPROXY=https://goproxy.cn,direct
23
24
25
26##更新阿里云上的域名解析
27
28
29##启动服务
30#壁纸api
31cd other-service/img-server
32nohup ./main -port 8080 >> goimgapi_stdout.log 2>> goimgapi_stderr.log &
33
34
35
36
37##配置下开机自启
38tee /etc/systemd/system/goimgapi.service << 'EOF'
39[Unit]
40# 服务描述
41Description=GoImgAPI Service
42# 依赖网络(确保网络启动后再运行服务,按需添加)
43After=network.target
44
45[Service]
46# 运行用户(推荐用普通用户,如 appuser;若需 root 则写 root)
47User=root
48# 工作目录(程序运行的基准目录,若程序依赖相对路径则配置,否则可省略)
49WorkingDirectory=/root/other-service/img-server
50# 核心执行命令(无需 nohup 和 &,systemd 自动后台管理),主要配置下这里的位置即可!!!
51ExecStart=/root/other-service/img-server/main -port 8080
52# 标准输出重定向(对应原命令的 >> stdout.log)
53StandardOutput=append:/var/log/goimgapi/goimgapi_stdout.log
54# 标准错误重定向(对应原命令的 2>> stderr.log)
55StandardError=append:/var/log/goimgapi/goimgapi_stderr.log
56# 进程退出后自动重启(可选,推荐开启,增强稳定性)
57Restart=always
58# 重启间隔(秒)
59RestartSec=3
60
61[Install]
62# 开机自启的目标级别(多用户模式,默认级别)
63WantedBy=multi-user.target
64EOF
65
66systemctl daemon-reload
67systemctl enable goimgapi.service
68# 启动服务
69systemctl start goimgapi.service
70# 查看状态(确认是否启动成功)
71systemctl status goimgapi.service
72
73
74
75#reboot
76# 重启后查看进程
77ps -ef | grep main
78# 或查看服务状态
79systemctl status goimgapi.service
✅配置下cerbot
具体配置可查看:《实战-Cerbot结合阿里云dns插件实现自动续期-20250305(测试成功)(推荐)》文件。
1wget https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz
2tar xzvf aliyun-cli-linux-latest-amd64.tgz
3sudo cp aliyun /usr/local/bin
4rm -f aliyun
5
6
7#下载、部署并配置一个名为 alidns.sh 的脚本
8wget https://img.onedayxyy.cn/images/alidns.sh
9sudo cp alidns.sh /usr/local/bin
10sudo chmod +x /usr/local/bin/alidns.sh
11sudo ln -s /usr/local/bin/alidns.sh /usr/local/bin/alidns
12
13
14aliyun configure set --profile AkProfile --mode AK --access-key-id 替换为你自己的真实 AccessKey ID --access-key-secret 替换为你自己的真实 AccessKey Secret --region 替换为你希望使用的阿里云地域的 ID
15
16
17aliyun configure list
18
19sudo touch /var/log/certbot-renew.log
20sudo chmod 644 /var/log/certbot-renew.log
结束
📡
👤
作者:
余温Gueen
🌐
版权:
本站文章除特别声明外,均采用
CC BY-NC-SA 4.0
协议,转载请注明来自
余温Gueen Blog!
推荐使用微信支付

推荐使用支付宝
