خطأ في التحديث/إعادة البناء رمز 1 (3.1.0.beta4 → 3.3.0.beta3) - هل يتعلق بمنفذ Redis 6379؟

صباح الخير جميعًا، أول مشاركة لي هنا. كنت أقوم بصيانة خادم DigitalOcean/Discourse الذي ورثته منذ بضع سنوات، وأعدت إصدار شهادة SSL الخاصة بي وحاولت تحديث/إعادة بناء التطبيق، وواجهت الخطأ التالي المبلغ عنه هنا.

I, [2024-07-04T10:58:00.012668 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-07-04T10:58:00.017822 #1]  INFO -- : > sleep 10
954:C 04 Jul 2024 10:58:00.044 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
954:C 04 Jul 2024 10:58:00.044 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=954, just started
954:C 04 Jul 2024 10:58:00.044 # Configuration loaded
954:M 04 Jul 2024 10:58:00.045 * monotonic clock: POSIX clock_gettime
954:M 04 Jul 2024 10:58:00.046 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
954:M 04 Jul 2024 10:58:00.046 # Failed listening on port 6379 (TCP), aborting.
I, [2024-07-04T10:58:10.031866 #1]  INFO -- :
I, [2024-07-04T10:58:10.032253 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Gem::LoadError: can't activate stringio-3.1.1, already activated stringio-3.1.0 (Gem::LoadError)

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 958 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** 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.
f71a114482f45f7cff5f8d045d314a0bd8d21cf3b1af7e8c2c0a7fc1722df4a5

يرجى الاطلاع على السجل الكامل المرفق.

حاولت إعادة بناء الأمر مرة أخرى باستخدام “sudo” لأنني أعرف ما أفعله وسمعت أن ذلك يجعل أي شيء يعمل… لم يحدث ذلك. :rofl:

يرجى التوصية بأي خطوات يمكنني اتخاذها بأكبر قدر ممكن من البساطة. أنا لست على دراية بجميع أوامر لينكس، وبالكاد أعرف طريقي حول برنامج discourse.

شكراً لأي مساعدة في هذه المسألة.

قائمة الإضافات:

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/iunctis/discourse-formatting-toolbar.git
          - git clone https://github.com/paviliondev/discourse-locations.git
          - git clone https://github.com/paviliondev/discourse-events.git
          - git clone https://github.com/jannolii/discourse-topic-trade-buttons.git
          - git clone https://github.com/discourse/discourse-cakeday.git

ليس لدي أي علامات MAXMIND في ملف app.yml الخاص بي.

سأقوم أولاً بإزالة الإضافات غير القياسية.

إعجاب واحد (1)

شكراً لك، @pfaffman!

بعد تحديث وترقية أوبونتو، وإعادة تشغيل الخادم، وتشغيل الأداة المساعدة doctor، والمحاولات المتكررة، كنت أخطط لتجربة هذا تالياً عندما رأيت ردك الذي يؤكد تلك الشكوك.

تم تعطيل الإضافات غير التابعة لـ Discourse، ونجحت إعادة البناء. يتم الآن استخدام شهادات SSL المعاد إصدارها، ويمكنني أن أخصص بعض الوقت لإعداد كل شيء بالطريقة التي كانت لدينا بها.

أقدر المساعدة، وآمل أن أقضي المزيد من الوقت هنا وأتعلم المزيد عندما لا أكون تحت الضغط.

يبدو أن إعدادك تم تثبيته قبل Let’s Encrypt؛ لا حاجة لإدارة الشهادات يدويًا. ربما أوصي بالانتقال إلى جهاز افتراضي جديد (أراهن أن نظام التشغيل الخاص بك قد تجاوز نهاية عمره الافتراضي أيضًا؟). انظر نقل موقع Discourse إلى خادم افتراضي خاص آخر باستخدام rsync.

إعجابَين (2)

شكراً لك على هذه النصيحة أيضاً. لقد تم إعداده كإعداد تجديد تلقائي بناءً على الإعداد الأصلي منذ حوالي 5 سنوات، ولكن يبدو أنني كنت أبقيه يعمل بالطريقة الصعبة.\n\nسأقوم ببعض الأبحاث، وسآخذ هذه النصيحة في الاعتبار. شكراً مرة أخرى، جاي.

إعجاب واحد (1)