مرحباً بالجميع!
كنت أحاول تحديث منتدى discourse باستخدام الرابط المنشور في لوحة الإدارة وواجهت هذا الخطأ. لقد اختفى المنتدى بأكمله. ماذا يجب أن أفعل الآن لإعادة تعيين التحديث؟ شكراً جزيلاً إذا استطاع أي شخص مساعدتي.
في الواقع، هذا يعني أن منتدىك قيد التحديث. - ما لم تقاطع التحديث قبل اكتماله.
حاول زيارة منتدىك https://yoursite.com/latest.json. إذا أعاد شيئًا، فانتظر 10 دقائق وانظر ما إذا كانت المشكلة ستحل نفسها
شكرا على ردك، لقد جربت الطريقة التي قدمتها وهي تُرجع 502 Bad Gateway nginx.
يبدو أنه قد يتعين عليك تشغيل ./launcher rebuild app
حاولت تشغيل ./launcher rebuild app وحصلت على رسائل الخطأ التالية:
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development' failed with return #<Process::Status: pid 340 exit 5>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'"]}
6e9e60bd6b6113cdcb001127fd2a24fe86f2a1658bf24500e5e2b720fd793510
** 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.
وقمت بالتمرير للأعلى ووجدت بعض سجلات الأخطاء المحتملة:
1)200:M 25 Jun 2023 16:00:16.252 # Failed listening on port 6379 (TCP), aborting.
2)[DEPRECATED] The `--deployment` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local deployment 'true'`, and stop using this flag
[DEPRECATED] The `--without` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local without 'test development'`, and stop using this flag
3)Bundler::PathError: The path `/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/sprockets-f4d3dae71ef2` does not exist.
4)Bundler::InstallError: sass-embedded-1.63.6-x86_64-linux requires rubygems version >= 3.3.22, which is incompatible with the current version, 3.2.18
هل واجه شخص آخر مشكلة مماثلة مؤخرًا إذا كان هذا مفيدًا؟
شكراً جزيلاً على ردك، لكن أعتقد أنها ليست نفس المشكلة، خادمي في ألمانيا. أنا أستخدم صورة discourse docker لخادمي. ماذا أفعل إذا لم يعمل ./launcher rebuild app؟
تبدو مشابهة لـ
فشل إعادة البناء بسبب عدم توافق جوهرة روبي
شكراً لمساعدتك! نعم، يبدو الأمر مشابهاً وحاولت:
my server:/var/discourse**$ git pull
fatal: Not a git repository: ../.git/modules/discourse_docker
هل يجب أن أفعل شيئًا قبل تشغيل git pull؟ كنت أقوم بذلك في /var/discourse الخاص بالخادم الخاص بي.
يبدو أنه من الممكن أن يكون لديك إعداد غير عادي - هل هذا تثبيت قياسي؟
قرأت وثائق المبرمج الأخير بالنسبة لي وتقول إنه نظرًا لأن العديد من الأشياء على الويب تعمل خلف nginx ويحتاج discourse أيضًا إلى الاستضافة خلف nginx. التثبيت القياسي لا يعمل لحالتي.
وهذه هي الطريقة التي قالها في الوثيقة وكيف فعل:
يعمل Discourse في حاوية docker. ومع ذلك، فإنه يتطلب نوعًا خاصًا من التكوين، وليس عبر ملف docker-compose.yml أو ملف .conf.
مستودع discourse-project/ على github المطلوب تكوين وبناء صورة docker يمكن العثور عليها هنا. تجاهل برنامج “discourse-setup” اللطيف والمفيد الذي يقدمونه، فلن يعمل هنا. نحتاج إلى تكوين التطبيق بأنفسنا.
git clone https://github.com/discourse/discourse_docker.git /var/discoursecd /var/discourse && cp samples/standalone.yml containers/app.ymlsudo nano)/var/discourse باستخدام sudo ./launcher bootstrap app. يستغرق هذا وقتًا طويلاًsudo ./launcher start app.هذه ملاحظات جيدة.
git pull;./launcher rebuild app يجب أن تعمل.
من أي إصدار تقوم بالتحديث؟
هل نظام التشغيل قديم؟ (cat /etc/issue)
هل القرص ممتلئ؟ (df - h)
شكراً على ردك! الإصدار الذي أقوم بالتحديث منه هو 2.8.0.beta6 وآخر تحديث كان في 28.09.2021.
بعد تشغيل cat /etc/issue حصلت على:
Debian GNU/Linux 9 \n \l
والتالي هو المعلومات وفقاً لـ ./discourse-doctor
==================== MEMORY INFORMATION ====================
RAM (MB): 4050
total used free shared buff/cache available
Mem: 3955 427 1152 63 2375 3182
Swap: 0 0 0
==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 63G 27G 34G 45% /
==================== DISK INFORMATION ====================
Disk /dev/sda: 64 GiB, 68719476736 bytes, 134217728 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc0b6220c
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 134217727 134215680 64G 83 Linux
قد تضيف التبديل.
أيضًا، انظر تحديث PostgreSQL 13.
هل قمت بإعادة البناء أكثر من مرة؟
انظر أيضًا Debian | endoflife.date
تحتاج حقًا إلى نقل كل شيء إلى جهاز افتراضي جديد بنظام تشغيل مدعوم. لذا ستحتاج أيضًا إلى ترقية أي شيء آخر لديك قيد التشغيل.
مرحباً يا جامي، بعد فشل التثبيت عدة مرات، اكتشفت أن السبب هو حد الذاكرة الخاص بالخادم والشبكة، أقترح عليك استخدام خادم بذاكرة 4 جيجابايت والوصول العادي إلى جيت هاب وروبي.
هذا الخطأ يزعجني - هل ما زلت تراه؟ يجب أن يعمل حاوية docker الآن 3.2.0
ولكن إذا لم يكن /var/discourse الخاص بك دليل git، فقد تم القيام بشيء يختلف عن التعليمات. إنه يمنع التحديث ويسبب عدم تطابق إصدار ruby. بالنسبة لي:
/var/discourse# git status
On branch main
Your branch is up to date with 'origin/main'.
نرى أيضًا دليل .git:
# ls -a /var/discourse/
. .github README.md cids discourse-setup launcher scripts tests
.. .gitignore bin containers image rebuild.log shared
.git LICENSE c discourse-doctor index.html samples templates
تعديل: ولكن صحيح، إذا كنت تستخدم نظام تشغيل قديم جدًا، فلديك بعض العمل للقيام به، لتثبيت discourse في نظام تشغيل جديد واستعادة النسخة الاحتياطية الخاصة بك، وكذلك للقيام بجميع الأشياء الإضافية التي قد تكون مطلوبة لوضعك المحدد.
إذا كان خادمك يقوم بأشياء أكثر من مجرد تشغيل discourse، فهذه تعقيدات إضافية. قد تحتاج إلى خبرة محلية.
لدي فشل مماثل مع جواهر روبي وما إلى ذلك.
لقد كان تثبيتًا جديدًا على خادم جديد.
شكراً لكم جميعاً على المساعدة، سأجرب اقتراحاتكم واحداً تلو الآخر لحل المشكلة. إذا كان لدي أي ملاحظات (جيدة أو سيئة)، فسأقوم بنشرها مرة أخرى في المنتدى. شكراً جزيلاً مرة أخرى!
لقد قمت بتثبيت إصدار discourse الجديد بنجاح. لقد اتبعت التعليمات الموجودة في المستند أعلاه ونجحت معي. ولكن الآن أواجه مشكلة في الاستعادة من النسخة الاحتياطية.
لقد جربت استعادة نسخة احتياطية من سطر الأوامر ولكنني حصلت على ما يلي:
root@my_server:/var/www/discourse# discourse restore my_server-2023-06-20-033008-v20210922064213.tar.gz
Starting restore: my_server-2023-06-20-033008-v20210922064213.tar.gz
[STARTED]
'system' has started the restore!
Marking restore as running...
Making sure /var/www/discourse/tmp/restores/default/2023-06-29-113408 exists...
Copying archive to tmp directory...
Unzipping archive, this may take a while...
EXCEPTION: /var/www/discourse/lib/discourse.rb:137:in `exec': Failed to decompress archive.
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
/var/www/discourse/lib/discourse.rb:171:in `execute_command'
/var/www/discourse/lib/discourse.rb:137:in `exec'
/var/www/discourse/lib/discourse.rb:33:in `execute_command'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:78:in `decompress_archive'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:23:in `decompress'
/var/www/discourse/lib/backup_restore/restorer.rb:42:in `run'
script/discourse:149:in `restore'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/base.rb:485:in `start'
script/discourse:290:in `<top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:492:in `exec'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:34:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:28:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/exe/bundle:45:in `block in <top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/exe/bundle:33:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Trying to rollback...
There was no need to rollback
Cleaning stuff up...
Removing tmp '/var/www/discourse/tmp/restores/default/2023-06-29-113408' directory...
Marking restore as finished...
Notifying 'system' of the end of the restore...
Finished!
[FAILED]
Restore done.
ماذا يجب أن أفعل الآن؟
هناك خطأ ما في ملف النسخ الاحتياطي الخاص بك. قد يكون مجرد ملف مبتور.