Привет, это моя первая тема! Меня зовут Нелли Эггси, и я создаю веб-сайт, используя Ghost и Discourse.
Обычно я читаю форумы в режиме наблюдателя и изучаю темы из тени. Если я застряну, я ищу ответ на форуме, и это обычно помогает. Однако сейчас я застрял и нуждаюсь в помощи.
После обновления Discourse через административный интерфейс я получил сообщение:
Вы используете старую версию образа Discourse.
Обновления через веб-интерфейс отключены, пока вы не запустите последний образ.
Для этого войдите на свой сервер по SSH и выполните:
cd /var/discourse
git pull
./launcher rebuild app
Я следовал руководству по обновлению Discourse и образа Docker до последней версии с помощью консольных команд. Однако мне не удалось успешно выполнить обновление из-за ошибки.
Вот сообщение об ошибке, которое я получил при выполнении команды ./launcher rebuild app.
> FAILED
> --------------------
> Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 671 exit 1>
> Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
> exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
> 9c3a1b4a72818216aaafa5de742f7d1a325aa61497ea49f5b4f1660c6e503fd0
> ** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
> ./discourse-doctor may help diagnose the problem.
Мой Droplet от Digital Ocean имеет 2 ГБ ОЗУ / 50 ГБ диска + 50 ГБ / SFO2 — Discourse на Ubuntu 20.04.
Спасибо, что нашли время прочитать мой пост! Я с нетерпением жду вашего ответа.
Вот вывод. Я сильно его сократил, чтобы форум позволил опубликовать его.
2021-05-03 00:32:20.635 UTC [63] postgres@postgres ERROR: база данных "discourse" уже существует
2021-05-03 00:32:20.635 UTC [63] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: ошибка: создание базы данных не удалось: ERROR: база данных "discourse" уже существует
I, [2021-05-03T00:32:20.639714 #1] INFO -- :
I, [2021-05-03T00:32:20.640335 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2021-05-03 00:32:20.760 UTC [74] postgres@discourse ERROR: роль "discourse" уже существует
2021-05-03 00:32:20.760 UTC [74] postgres@discourse STATEMENT: create user discourse;
ERROR: роль "discourse" уже существует
I, [2021-05-03T00:32:21.634456 #1] INFO -- : Файл > /etc/service/redis/run chmod: +x chown:
I, [2021-05-03T00:32:21.640838 #1] INFO -- : Файл > /etc/service/redis/log/run chmod: +x chown:
I, [2021-05-03T00:32:21.646998 #1] INFO -- : Файл > /etc/runit/3.d/10-redis chmod: +x chown:
I, [2021-05-03T00:32:21.648588 #1] INFO -- : Замена daemonize yes на пустое значение в /etc/redis/redis.conf
I, [2021-05-03T00:32:21.650175 #1] INFO -- : Замена (?-mix:^pidfile.*$) на пустое значение в /etc/redis/redis.conf
I, [2021-05-03T00:32:21.651303 #1] INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2021-05-03T00:32:21.656597 #1] INFO -- :
I, [2021-05-03T00:32:21.657900 #1] INFO -- : Замена (?-mix:^logfile.*$) на logfile "" в /etc/redis/redis.conf
I, [2021-05-03T00:32:21.659157 #1] INFO -- : Замена (?-mix:^bind .*$) на пустое значение в /etc/redis/redis.conf
I, [2021-05-03T00:32:21.660353 #1] INFO -- : Замена (?-mix:^dir .*$) на dir /shared/redis_data в /etc/redis/redis.conf
I, [2021-05-03T00:32:21.661652 #1] INFO -- : Замена (?-mix:^protected-mode yes) на protected-mode no в /etc/redis/redis.conf
I, [2021-05-03T00:32:21.662825 #1] INFO -- : Замена # io-threads 4 на io-threads $redis_io_threads в /etc/redis/redis.conf
I, [2021-05-03T00:32:21.663908 #1] INFO -- : > echo redis установлен
I, [2021-05-03T00:32:21.668192 #1] INFO -- : redis установлен
I, [2021-05-03T00:32:21.669144 #1] INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2021-05-03T00:32:21.679111 #1] INFO -- : logfile ""
I, [2021-05-03T00:32:21.680077 #1] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2021-05-03T00:32:21.683045 #1] INFO -- : > sleep 10
167:C 03 May 2021 00:32:21.698 # oO0OoO0OoO0Oo Redis запускается oO0OoO0OoO0Oo
167:C 03 May 2021 00:32:21.698 # Версия Redis=6.2.1, биты=64, коммит=00000000, изменено=0, pid=167, только что запущен
167:C 03 May 2021 00:32:21.699 # Конфигурация загружена
167:M 03 May 2021 00:32:21.700 * монотонные часы: POSIX clock_gettime
167:M 03 May 2021 00:32:21.702 * Режим работы=standalone, порт=6379.
167:M 03 May 2021 00:32:21.702 # Сервер инициализирован
167:M 03 May 2021 00:32:21.703 # ПРЕДУПРЕЖДЕНИЕ: overcommit_memory установлен в 0! Фоновое сохранение может завершиться неудачей при нехватке памяти. Чтобы исправить эту проблему, добавьте 'vm.overcommit_memory = 1' в /etc/sysctl.conf, затем перезагрузите систему или выполните команду 'sysctl vm.overcommit_memory=1', чтобы изменения вступили в силу.
I, [2021-05-03T00:32:41.096190 #1] INFO -- : > cd /var/www/discourse && bash -c "touch -a /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
terser '/var/www/discourse/public/assets/_vendor-892d5a1f7dfb58e3f80950989c67133fd6062344153d17e67db8ba3d126c7a1a.js' -m -c -o '/var/www/discourse/public/assets/vendor-892d5a1f7dfb58e3f80950989c67133fd6062344153d17e67db8ba3d126c7a1a.js' --source-map "base='/var/www/discourse/public/assets',root='/assets',url='/assets/vendor-892d5a1f7dfb58e3f80950989c67133fd6062344153d17e67db8ba3d126c7a1a.js.map'"
****************************************************************************************************
#<Thread:0x000055a7feb17780 /var/www/discourse/lib/tasks/assets.rake:239 run> завершен с ошибкой (report_on_exception = true):
/var/www/discourse/lib/tasks/assets.rake:251:in `rescue in block (2 levels) in <main>': неопределенная локальная переменная или метод `name' для main:Object (NameError)
from /var/www/discourse/lib/tasks/assets.rake:240:in `block (2 levels) in <main>'
/var/www/discourse/lib/file_helper.rb:63:in `block in download': 401 Ошибка: Неверный ключ лицензии (OpenURI::HTTPError)
Спасибо! Похоже, это помогло, хотя бы отчасти. Когда я захожу на главную страницу форума, меня перекидывает на страницу «Поздравляем, вы установили Discourse!». Вот мои вопросы:
Мне нужно переустановить форум? Останется ли мой существующий контент или всё было удалено?
Звучит так, будто всё было удалено, но, скорее всего, оно всё ещё там. Это ваше первое обновление за долгое время? Был ли обновлён ваш PostgreSQL? Мое предположение: что-то пошло не так при обновлении PostgreSQL, и вам нужно переименовать postgres_old и начать заново. Подробнее об этом в статье Обновление PostgreSQL 13.
Джей, я только что вспомнил, что пытался переместить загрузки и резервные копии в блок-хранилище DigitalOcean. Только что я попытался сделать это снова и получил сообщение об ошибке «Ой» при переходе на главную страницу:
Ой
Программное обеспечение, управляющее этим форумом обсуждений, столкнулось с неожиданной проблемой. Приносим извинения за неудобства.
Подробная информация об ошибке была записана в журнал, и автоматически сформировано уведомление. Мы разберёмся с этим.
Никаких дополнительных действий не требуется. Однако, если ошибка сохраняется, вы можете предоставить дополнительные детали, включая шаги для воспроизведения ошибки, опубликовав тему в категории обратной связи сайта.