@noellabo すみません、mastodonをアプデしたら動かなくなってしまいました。
redisがどうこう、のような?気がするのですが、お手上げ状態です。お力添えいただけると嬉しいです [参照]

@azmen Redisが死んでますね。そっちの原因調べましょう。

journalctl -ru redis

何か原因のログがあるかと。

@noellabo こんなエラーです
Failed to start Redis persistent key-value database

@noellabo
Can't open the log file: Permission denied
>>> 'logfile /var/log/redis/redis.log'
Reading the configuration file, at line 240
*** FATAL CONFIG FILE ERROR (Redis 6.0.1) ***

これが最後についてました

@azmen ログファイルが権限がなくて開かないって言ってますね。

sudoをつけて、sudo systemctl restart redis でもだめなら、

ログファイルを待避してみるとか。

sudo mv /var/log/redis/redis.log{,_back}

@azmen すまん、気付かなかった!

アプデの際に、redisやそのまわりのコンポーネント、なにか更新かけましたかね?

設定
/etc/redis/redis.conf

データベース
/var/lib/redis/dump.rdb

ログ
/var/log/redis/redis-server.log

systemd Unitファイル
/lib/systemd/system/redis-server.service

systemd Unitファイルの上書き設定
/lib/systemd/system/redis-server.service.d/override.conf

一旦システムをリスタートして
sudo reboot

redisのデータベース内容は消えてもいいので、ログやデータベースは削除、起動して発生するエラーはjournalctl -ru redisで確認。

sudo systemctl restart redis

あと停止時にport 6379で起動してる残骸が何かいないか、正常起動時にちゃんとportを確保してるか、ss -lt などで確認。

@azmen ファイルのパーミッションにはうるさいので、

sudo chown -R redis:redis /etc/redis
sudo chown -R redis:redis /var/lib/redis
sudo chown -R redis:adm /var/log/redis

sudo chmod -R 640 /etc/redis/*
sudo chmod -R 660 /var/lib/redis/*
sudo chmod -R 660 /var/log/redis/*

@noellabo /etc/redis/の中に
redis.confが無いです…
/var/lib/redisの中も空です…/var/log/redis/の中もさっき対比させたものだけ…
/lib/systemd/system/の中はredis.serviceというのならあります

/lib/systemd/system/redis-server.service.d/はディレクトリが無いみたい…

@noellabo
sudo chmod -R 640 /etc/redis/*
sudo chmod -R 660 /var/lib/redis/*
のふたつは無いって言われました

@noellabo あ、パーミッション変更したらmastodonも動きました
redisもグリーンです

@noellabo mastodon、動いたけれど、不明なエラーが出るのと、カスタムcssとかが反映されてないです

@azmen cssおかしいのとかWebUIのは、assets:precompileに失敗してますね。

mastodonのユーザーで~live/の中で実行

RAILS_ENV=production bin/rails assets:clobber
(アセットのリセットです)

RAILS_ENV=production bin/rails assets:precompile
(アセットを作り直し)

@noellabo あれ、アセットのふたつ、やり直してけどUI変わらずで不明なエラーも変わらず…

@azmen 途中エラーあったかな(ってあの大量のメッセージじゃわからないね!)

ブラウザのDevToolとかでみると、cssとか404になってるんじゃないかと思うんだけど、

アセットのコンパイルに必要なメモリ量などがだんだん増えているので、できるだけ再起動後のプロセス停止させた状態で実行することと、

precompileする前に

export NODE_OPTIONS=--max_old_space_size=4096

とかしとく。

@noellabo ブラウザのdevtoolではcustom.cssは確かに読み込み中にエラーが起きました、と出て、コンソール?にはこんなエラーとかがあります

@noellabo precompileしたときエラーは無いみたいだけどwarningとして
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
というのは出てきました

@azmen Mastodonはpackage-lock.json含んでないし、ビルド時にも吐かないような気がしますね。そのファイル名前変えて実行した方がいいかも。

@noellabo うーん、やっぱりcustom.cssとcustom_emojijsが読み込めてないっぽくて変わらず…

@azmen cloudflareがあいだに挟まっているとか、スマホや他のブラウザだと出る、っていうことはあります?

@noellabo cloudflareはよくわからないです、さくらの
vpsとか関係あるのかな
あとほかのブラウザやiphoneから見ても同じですね

@azmen cloudflareが勝手に使われてることはないと思います。使われてればキャッシュクリアっていうのも考えられるんですが……

ちょっと識者召喚するか……

@noellabo え!さらなる識者がいるんですか!
ほんとすみません

フォロー

あずめんさんとこで、Mastodonアプデに伴い、assetsが読めないエラーになってるみたいで、clobberしてprecompileやり直しとかやってるんだけど、なかなか結果でないでいます。経緯は参照にて。

誰か突破口みつけられる人います?

メンションもつけとこw
@mayaeh @zundan [参照]

redis の方は解決済みなんですね?
そちらも同時に起きた問題だとしたら関連ありそうな気もするのですが。

@mayaeh @zundan 構成違うようですが、パーミッションでなんとかなったとか。

そもそもそれなんで起きるんだってのはあるのですがw

カスタマイズされているそうですしソースを見たいですね。
place-of-refuge.com/about にあるソースの URL は本家のままのようです。

弊ぼっちはビルド時にbuidlpackが走らせるassets:cleanでたまにprecompileしたassetsが消える罠(precompileに3秒以上かかると最初にできたassetsは古いバージョンだと思われちゃう)にかかって、Gemfileを

-gem 'webpacker', '~> 5.4'
+gem 'webpacker', git: 'github.com/zunda/webpacker.git', branch: 'clear-command-with-better-versioning'

してあります。がそれ以外だとエラーやらログやらみないとなかなか…

/aboutを見る限りアセットもすべて揃ってる感じに見えます。ここだとRedisがどうなってるのかはわからないのかな?

@zundan @mayaeh ああー、custom.cssと/api/v1/custom_emojisか。どっちもコントローラー経由だな。キャッシュか。

curl のレスポンス見るに空のレスポンスでコネクション閉じられてるので nginx かアプリケーションですね。アプリケーションのログ見て 500 が出てないなら nginx のどっかがおかしいので nginx 挙げ直すとか。

HTTP 1.1 でリクエスト投げるとレスポンスヘッダすらない、という状況で HTTP 2 だと最低限ヘッダは返すが、レスポンスは空で HTTP2 がおかしなことになっとる、という状態なのでおそらくアプリケーション起因

curl --http1.1 -v http:// place-of-refuge.com/custom.css

だとNginxが301をくれるんですね=

curl --http1.1 -v https:// place-of-refuge.com/custom.css

だと

curl: (52) Empty reply from server

別件ですが、この投稿にはこちらには [参照] の部分が届いていませんでした

@mayaeh お、何かあるかな。確認してみます。

@mayaeh ありがとう! なんかバグあるなこれ。

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。