💾 Archived View for tilde.club › ~technicalsuwako › blog › pleroma-home-timelain-500-error-fix.gmi captured on 2024-06-16 at 12:48:08. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-06-14)
-=-=-=-=-=-=-
公開日:2022-05-31
最近、あたしのSNSのホームタイムラインで500エラーが発生される事が多くなりました。
今回は修正方法を教えます。
DB versionは、「psql --version」による正しいバージョンを選択して下さい。
OS Typeはそのまま「Linux」で良いです。
DB Typeはそのまま「Web application」で良いです。
Total Memory (RAM)を調べるには、「free -m」で確認して下さい。
free -m total used free shared buff/cache available Mem: 980 410 93 261 477 156 Swap: 2047 472 1575
こちらの場合は1 GBとなります。
Data StorageはSSDではない場合、変更して下さい。
Number of CPUs及びNumber of Connectionsは空で良いです。
「Generate」をクリックして下さい。
/etc/postgresql/(バージョン)/main/postgresql.conf ファイルを創作した値通り変更して下さい。
/~technicalsuwako/static/Screenshot_20220531_214940.png
後はpostgresqlのサービスを再起動して下さい。
Debian、CentOS等の場合:
systemctl restart postgresql
Devuan、OpenBSD等の場合:
rc-update postgresql restart
下記はsystemdのコマンドを教えますので、OpenRC、runit、s6等を利用する場合、このinitシステムのコマンドで交換して下さい。
次はpostgresでVACUUM ANALYZEを実行する事が必要となります。
初めて実行したら、まずはVACUUM FULLの実行する事が必要で可能性があります。
その場合は「analyze」は「full」で交換して下さい。
ソースからインストールした場合:
cd /opt/pleroma ./bin/pleroma_ctl database vacuum analyze systemctl restart pleroma
OTPでインストールした場合:
cd /opt/pleroma systemctl stop pleroma sudo -Hu pleroma MIX_ENV=prod mix pleroma.database vacuum analyze systemctl start pleroma
crontabで自動化にしましょう。
/etc/crontabを編集すると、下記の行列を追加して下さい。
ソースからインストールした場合:
0 1 0 * * root cd /opt/pleroma && ./bin/pleroma_ctl database vacuum analyze && systemctl restart pleroma
OTPでインストールした場合:
0 1 0 * * root cd /opt/pleroma && systemctl stop pleroma && sudo -Hu pleroma MIX_ENV=prod mix pleroma.database vacuum analyze && systemctl start pleroma
それで毎日午前1時でVACUUM ANALYZEを実行します。
以上