服务器网站备份实战

最近阿里云服务器要一年续期了。云服务器商的潜规则就是割老韭菜,旧服务器的续期费用远多余重新买相同配置的服务器。新韭菜的服务器价格更低,所以不得不每一年换个服务器。这里记录一下备份操作。

宝塔面板

安装宝塔面板主要包括数据库,php网站(wordpress),ftp等数据。利用宝塔面板本身的网站迁移功能。

image-20260124190547334

安装的应用

除了wordpress网站之外,我也安装了一些非docker应用。

filebrowser

filebrowser.org/installation.html

创建systemctl服务

1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=File Browser
After=network.target

[Service]
ExecStart=/usr/local/bin/filebrowser \
-d /etc/filebrowser.db \
-p 9201 \
-a 0.0.0.0

[Install]
WantedBy=multi-user.target

然后进行重载配置: systemctl daemon-reload

启动服务: systemctl start filebrowser

设置开机自启: systemctl enable filebrowser

ossfs挂载

由于云盘空间有限,默认40G,所以通过挂载oss空间进行扩展,也方便作为webdav和网盘存储空间。

之前服务使用的是ossfs1.x版本,目前2.x版本相较于ossfs 1.0在顺序读写和高并发小文件读取方面均实现了显著的性能提升。

  • 顺序写入性能:在单线程大文件顺序写入场景下,ossfs 2.0的带宽相较于ossfs 1.0提升了近18倍
  • 顺序读取性能:在单线程或多线程(4线程)大文件顺序读取场景下,ossfs 2.0的带宽相较于ossfs 1.0提升了3倍以上。
  • 小文件并发读取性能:在高并发(128线程)读取小文件的场景下,ossfs 2.0的带宽相较于ossfs 1.0提升了20倍以上。

所以这里使用ossfs进行挂载。

1
2
sudo wget https://gosspublic.alicdn.com/ossfs/ossfs2_2.0.5_linux_x86_64.rpm
sudo yum install ossfs2_2.0.5_linux_x86_64.rpm -y

ossfs2.0的key配置,推荐还是使用ECSRAMRole,因为AccessKey容易过期。

image-20260124202954178

自动挂载

配置fstab使Linux重启后自动挂载OSS-对象存储-阿里云

1
ossfs2#bucket /home/files fuse _netdev,nofail,x-systemd.after=networkd-dispatcher.service,conf=/etc/ossfs2.conf 0 0

docker应用

重点是配置镜像源

1
sudo vim /etc/docker/daemon.json
1
2
3
4
5
6
7
8
9
10
11
12
{
"registry-mirrors" : [
"https://docker.1ms.run",
"https://docker.m.daocloud.io",
"https://mirror.aliyuncs.com"
],
"insecure-registries" : [
"docker.mirrors.ustc.edu.cn"
],
"debug": true,
"experimental": false
}
1
2
sudo systemctl daemon-reload
sudo systemctl restart docker
1
docker run --restart always --publish 9601:9601 -d proanimer/paper-reader:latest

webdav

ker-webdav: Docker image for running an Apache WebDAV server

1
2
3
docker run --restart always -v /srv/dav:/var/lib/dav \
-e AUTH_TYPE=Digest -e USERNAME=alice -e PASSWORD=secret1234 \
--publish 80:80 -d bytemark/webdav

注意,这里的AUTH_TYPE是Digest,做反向代理时不方便。所以使用了Basic

dillinger

1
docker run -d -p 9501:8080 --restart=always --cap-add=SYS_ADMIN --name=dillinger proanimer/dillinger

静态网站反向代理

有些静态页面也需要单独配置

1
2
3
4
5
6
7
8
9
10
11
12
location ^~  /navigator
{
alias /naviweb/;
index index.html;
}

location ^~ /weather-app
{
alias /home/staticsite/weather/;
index index.html;
}

此外,还有一些方便部署的应用awesome-selfhosted/awesome-selfhosted: A list of Free Software network services and web applications which can be hosted on your own servers

-------------本文结束感谢您的阅读-------------
感谢阅读.

欢迎关注我的其它发布渠道