一开始呢,我维护的实例 伊万鹰🦅 是部署在 HK 轻量上的,虽然速度很快,但是内存太小,一运行 Mastodon 内存就红色95%了。为了解决这个问题,我将实例迁移到一台配置更好的 VPS 上,使用 HK 轻量反代我的源站。最后的效果还挺满意的,速度上并没有慢很多。
其实也是我自己傻,一开始直接在高性能的 VPS上搭建不就好了么...非得先测试,还在性能那么差的服务器上测试...
好了废话不多说,本文主要内容是将原有的 Mastodon 迁移到一台新的服务器上。
这里就没什么好说的了,按照前一篇教程将基本的系统搭建好:
在 Ubuntu 安装部署 Mastodon 分布式社交网络!
但需要注意的操作到 生成配置文件 这步就可以了,后面的步骤都不需要操作了,因为你是要迁移旧的系统过来,配置文件什么的都已经有了。
切记不要运行下面的命令:
#不要运行! RAILS_ENV=production bundle exec rake mastodon:setup
Mastodon 迁移需要的数据不多,也就一个数据库,一个媒体文件夹和配置文件。我们一步步来操作。
首先需要以 root 权限,在原始服务器上运行下面的命令停止 Mastodon,以免迁移的时候出现错误:
systemctl stop 'mastodon-*.service'
在原始服务器上登录到 Mastodon 用户:
su - mastodon
导出数据库到文件:
pg_dump -Fc mastodon_production -f backup.dump
将 backup.dump 文件上传到新服务器的 /home/mastodon 文件夹下。
backup.dump
/home/mastodon
在新服务器上切换到 Mastodon 用户:
导入数据库:
createdb -T template0 mastodon_production pg_restore -U mastodon -n public --no-owner --role=mastodon \ -d mastodon_production backup.dump
按照官方文档我们只需要迁移储存了媒体文件的 system 文件夹即可,我一般喜欢使用 rsync 转移数据,你也可以使用其他你熟悉的工具迁移,我默认你的 原始服务器上已经拥有了新服务器的 ssh pubkey。
拥有了
ssh pubkey
在新服务器上以 root 权限运行下面的命令迁移 system 文件夹,请自行替换【你的服务器IP】:
rsync -avz root@【你的服务器IP】:/home/mastodon/live/public/system /home/mastodon/live/public/
不要忘记修改文件夹归属,要不然会遇到无法上传图片的 500 错误。在新服务器上输入以下命令修改 system 文件夹所有权:
chown -R mastodon:mastodon /home/mastodon/live/public/system
这一步也很简单就是要将这个文件:/home/mastodon/live/.env.production 复制到新服务器,新的服务器上并没有生成过配置文件,所以是没有这个文件的。
/home/mastodon/live/.env.production
和上一步一样我还是使用rsync,你可以自行替换为你熟悉的工具,在新服务器上以 root 权限运行下面的命令迁移配置文件:
rsync -avz root@【你的服务器IP】:/home/mastodon/live/.env.production /home/mastodon/live/.env.production
至此,文件的迁移就全部完成了,注意下面的步骤都是在新服务器上操作。
如果你按照开头说的将上一篇教程只操作到 生成配置文件 就停下来,那么你新的服务器上是没有将 Mastodon 复制到对应的文件夹下的,使用下面的命令复制:
cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/
使用下面的命令预编译 Mastodon:
RAILS_ENV=production bundle exec rails assets:precompile
运行下面的命令为每个用户生成时间线:
RAILS_ENV=production ./bin/tootctl feeds build
激活启动 Mastodon:
systemctl daemon-reload systemctl start mastodon-web mastodon-sidekiq mastodon-streaming systemctl enable mastodon-web mastodon-sidekiq mastodon-streaming
我用的是 LNMP,添加一遍虚拟主机后,按照原始服务器的虚拟主机配置文件修改新服务器上的配置文件即可。记得先在 DNS 服务商那里修改解析记录。
编辑完毕后重新载入以下nginx就可以生效了:
lnmp nginx reload
#可选项目,本步骤取决于你是否需要开启全文搜索,如不需要就要不需要自行此步骤,如需要请确认已经安装好了 ElasticSearch ,输入以下命令创建并更新索引:
RAILS_ENV=production bundle exec rake chewy:upgrade RAILS_ENV=production bundle exec rake chewy:sync
全部操作完毕后,在浏览器输入你的域名就可以访问了,个人觉得没什么麻烦的,就是得细心一步步操作,步骤错了就会导致数据全错,得删库重来。
要想实现这样的效果仅仅只需要安装一个lonelyscreen就就可以了。
其实之前很想做一个整页滚动的随笔页面了,但是最近发现了一个3D滚动的页面,感觉更加好看,所以就用它了。
作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答
最近在学python爬虫,最基础的就是requests库了,安装命令十分简单。
配合V2ray可以实现联通免流翻墙功能,本文就是详细的教程。
目录
热门标签
更多语言
站点信息