Nezha探针(v0版本)手动迁移

Nezha 探针的版本已经迭代到 v1,但我个人还是更喜欢 v0,打算继续使用 v0 “养老”。目前 tz 部署在一台 VPS 上,不过这台 VPS 再过 40 多天就到期了,之后就不打算续费了。我打算将其迁移到另一台 VPS上,同时记录下整个迁移过程,以便未来再次迁移时更加方便。

因为是通过docker部署面板,所以迁移过程也相当便利。主要步骤如下:

  1. 服务器A镜像备份导出,数据文件备份导出
  2. 服务器A传输镜像、数据文件、执行脚本到服务器B
  3. 服务器B导入镜像,解压数据文件到对应目录,运行启动脚本
  4. 服务器B配置反向搭理,是域名能够正确访问到服务器

前置操作

为了便利后续使用scp命令传输文件,先在服务器A中创建ssh密钥对

#创建ssh-key
ssh-keygen -t rsa -b 4096 -C "dandyapi@outlook.com"

ssh连接到服务器B,将服务器A中.ssh/id_rsa.pub的内容添加到目标机器的.ssh/authorized_keys

确认服务器A和服务器B的系统版本都一致,都是debian12,面板的docker容器id为id为3d39d0a3ec2a

服务器A上操作

导出nezha的docker镜像

docker commit c9cfba311710 nezha-dashboard:local
docker save -o nezha_dashboard.tar nezha-dashboard:local

备份/opt/nezha/目录下的dashboard

cd /opt/nezha/ && tar czf /root/dashboard_data_backup.tar.gz  dashboard

传输镜像文件、数据备份、运行脚本到服务器B (ip地址换成自己的新VPS)

# 默认22端口
scp nezha_dashboard.tar dashboard_data_backup.tar.gz nezha.sh root@ip:/root
# 非默认端口,假设为2222
scp -P 2222 nezha_dashboard.tar dashboard_data_backup.tar.gz nezha.sh root@ip:/root

服务器B上操作

安装docker

apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" |  tee /etc/apt/sources.list.d/docker.list > /dev/nul
apt update
apt install docker-ce docker-ce-cli containerd.io

安装openResty

apt update
apt install -y curl gnupg2 ca-certificates lsb-release
curl -fsSL https://openresty.org/package/pubkey.gpg | gpg --dearmor -o /usr/share/keyrings/openresty.gpg
echo "deb [signed-by=/usr/share/keyrings/openresty.gpg] https://openresty.org/package/debian $(lsb_release -sc) openresty" | tee /etc/apt/sources.list.d/openresty.list
apt update
apt install -y openresty

解压数据文件

mkdir -p /opt/nezha
tar xzf dashboard_data_backup.tar.gz  -C /opt/nezha

docker导入镜像文件

docker load -i nezha_dashboard.tar
docker images #查看镜像是否正确导入,显示如下
REPOSITORY        TAG       IMAGE ID       CREATED       SIZE
nezha-dashboard   local     dcf0fbd1c1b4   4 hours ago   77.7MB

运行启动脚本

./nezha.sh
选择1-docker运行
选择3-启动面板

配置反向代理

上传ssl证书

mkdir ssl-key #创建文件夹

上传fullchain.pem和privkey.pem到这个目录/root/ssl-key

创建openResty配置文件

mkdir -p /etc/openresty/conf.d
vim /etc/openresty/conf.d/tz_dandyapi_com.conf

文件内容如下:

server {
    listen 80;
    server_name tz.dandyapi.com;

    # 自动重定向 HTTP 到 HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name tz.dandyapi.com;

    ssl_certificate /root/ssl-key/fullchain.pem;
    ssl_certificate_key /root/ssl-key/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location ^~ / {
    proxy_pass http://127.0.0.1:8008;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_http_version 1.1;
    add_header X-Cache $upstream_cache_status;
    add_header Cache-Control no-cache;
    proxy_ssl_server_name off;
    proxy_ssl_name $proxy_host;
    add_header Strict-Transport-Security "max-age=31536000";
 }

}

载入配置文件并重启服务

vim /usr/local/openresty/nginx/conf/nginx.conf
#在http模块中加入下列内容
include /etc/openresty/conf.d/*.conf;
/usr/local/openresty/nginx/sbin/nginx -t #检查配置
systemctl restart openresty  #重启服务

知识补充

刚开始使用了跟前面jellyfin一样的配置文件,但是探针面板的页面无法正常显示状态,打开控制台一直提示wss报错,发现原先的配置可能无法满足wss的反代,后修改了配置,使其范围更广,路径匹配范围更大,保证了 WebSocket 请求不会因 location 规则错误而被阻止。

为啥探针会一直迁来迁去呢,当然是为了降本增效了,今年尽量缩减那些不需要的吃灰小鸡。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇