テクニカル諏訪子
支援♡ : Monero | Github | Ko-Fi | ファンティア | Patreon | 極座標 | Open Collective

【Pleroma】ホームタイムラインで500エラーの修正方法

トップページに戻る
凜、 2022年05月31日 — jp, blog, pleroma, linux, mastodon, postgresql

最近、あたしのSNSのホームタイムラインで500エラーが発生される事が多くなりました。
今回は修正方法を教えます。

PostgreSQLのコンフィグファイルの編集

まずは、PGTuneで創作して下さい。
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 ファイルを創作した値通り変更して下さい。

後はpostgresqlのサービスを再起動して下さい。

Debian、CentOS等の場合:

systemctl restart postgresql

Devuan、OpenBSD等の場合:

rc-update postgresql restart

下記はsystemdのコマンドを教えますので、OpenRC、runit、s6等を利用する場合、このinitシステムのコマンドで交換して下さい。

VACUUM ANALYZEの実行

次は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を実行します。

以上


STOP!! SDGsキャンペーン STOP!! スマホキャンペーン

匿名自営業076の設立者
ページのGitリポジトリ