Проблемы с Redis? (Форум не работает после обновления)

При пересборке в конце появляется сообщение [FAILED]?

Могли бы вы показать строки перед этим сообщением об ошибке? (насколько это возможно)

Мы найдём в этом какие-то подсказки.

Я не думаю, что в конце есть сообщение FAILED. Запущу ещё одну сборку. Спасибо!

Если перестроение дойдёт до конца, скорее всего, проблема в повреждённом плагине или компоненте темы.

Проверьте консоль в вашем браузере (F12), чтобы увидеть, есть ли какие-либо красные предупреждения.

Вы также можете попробовать перейти по адресу [your-forum]/safe-mode, чтобы загрузить ваш форум без плагинов и тем.

Да, никаких сбоев. Сборка, похоже, завершается успешно, и запуск docker тоже проходит нормально.

В консоли ничего очевидного. Пытаюсь запустить безопасный режим, но получаю ошибку «сайт недоступен» от Chrome. Однако я могу получить доступ к главной странице и статическим сообщениям (обычным способом).

Вот конец текущего лога продакшена:

/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.5.1/lib/redis.rb:72:in `block in synchronize'
/usr/local/lib/ruby/2.7.0/monitor.rb:202:in `synchronize'
/usr/local/lib/ruby/2.7.0/monitor.rb:202:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.5.1/lib/redis.rb:72:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.5.1/lib/redis.rb:966:in `get'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus/backends/redis.rb:366:in `process_global_backlog'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus/backends/redis.rb:274:in `block in global_subscribe'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus/backends/redis.rb:287:in `global_subscribe'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus.rb:786:in `global_subscribe_thread'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus.rb:734:in `block in new_subscriber_thread'

Не могли бы вы поделиться списком плагинов? Или отправить ссылку на ваш форум в личные сообщения, чтобы я мог проверить?

Есть ли что-то полезное в [your_forum]/logs? Список ошибок в [your_forum]/sidekiq?

У нас недостаточно информации, чтобы помочь вам найти проблему.

Для начала вот (очень короткий) список плагинов. Это все плагины, перечисленные в app.yml:

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-push-notifications.git
          - git clone https://github.com/davidtaylorhq/discourse-whos-online.git

Кажется, плагин Who’s Online был передан в официальную поддержку в сентябре. Попробуйте использовать обновлённый репозиторий — возможно, это поможет?

https://github.com/discourse/discourse-whos-online

Обновление по этой теме. Спасибо всем за ваши предложения. Основные проблемы (за исключением одной) apparently (требуется дополнительное тестирование) были решены. Оставшаяся очевидная проблема заключается в том, что SSL-сертификаты больше не обновляются, и даже рекомендуемый здесь ручной процесс обновления не работает. Похоже, что Let’s Encrypt не может получить доступ к файлу проверки из директории «well known». Это работало нормально почти 3 года. Таким образом, это всё ещё проблема, особенно поскольку HSTS полностью блокирует Chrome в данной ситуации.

Похоже, полный хаос.

Попробуйте запустить утилиту discourse-doctor, чтобы проверить, даст ли она какие-то подсказки. У меня есть несколько идей, но без доступа к серверу это займёт слишком много времени для человека моего скромного уровня.

На вашем месте я бы, скорее всего, переустановил всё с нуля.

1. Создайте резервную копию

cd /var/discourse
./launcher enter app
discourse backup

Скачайте резервную копию через SFTP (протокол SFTP, порт 22, хост: IP-адрес вашего сервера, логин: root, пароль: пароль root).

Убедитесь, что в резервной копии есть папка uploads. Если её нет, сделайте локальную копию этой папки на вашем жёстком диске.

2. Удалите систему, переустановите VPS или используйте другой VPS

Используйте стандартный процесс установки Discourse. Если всё прошло успешно: войдите в систему, загрузите и восстановите резервную копию.

(Вы также можете восстановить резервную копию из командной строки — это быстрее: Restore a backup from the command line)

Если вы не уверены в своих силах, лучше подождать помощи от более квалифицированного специалиста :raised_hands:

Спасибо. Я не думаю, что хочу идти этим путём просто для решения проблемы с SSL. Должно быть более узкое решение, учитывая, что другие проблемы, похоже, уже решены. Но ещё раз спасибо.

Итак, в /var/discourse/shared/standalone/ssl, похоже, появились новые ключи и сертификаты, созданные при моей последней попытке. Однако в логах чётко указана ошибка проверки, и сайт на самом деле их не использует. Кроме того — возможно, это лишь визуальная несогласованность — в логах отображаются неверные пути в данном случае. Например, сообщается об установке ключа в:

/shared/ssl/[site]_ecc.key

Но фактический путь — /shared/standalone/ssl.

Это хотя бы выглядит странно.

Типичная ошибка выглядит так:

[site]: Ошибка проверки: Получение данных http://[site]/.well-known/acme-challenge/[строка вызова]: Ошибка получения данных проверки.

Отмечу, что для доступа всех пользователей требуется вход в систему, однако это не вызывало проблем при обновлении SSL-сертификатов (в течение нескольких лет работы).

Так как другие вопросы уже решены, я переношу вопрос по SSL в отдельную тему. Спасибо всем!