لم أقم بتغيير أي شيء بوعي، ولكن اليوم، عندما قمت للتو بسحب التغييرات (git pull) وحاولت تشغيل web_only.yml، ظهرت أخطاء بعد حوالي 90 ثانية من بدء عملية التشغيل. ألصقت فقط الأسطر الأخيرة من الخطأ، إذا كان ذلك يساعد في التشخيص:
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:348:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:511:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment
(See full trace by running task with --trace)
I, [2022-12-29T10:28:07.806753 #1] INFO -- : gem install geocoder -v 1.4.4 -i /var/www/discourse/plugins/discourse-locations/gems/3.1.3 --no-document --ignore-dependencies --no-user-install
Successfully installed geocoder-1.4.4
1 gem installed
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1066 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "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.
9b7ac0c88b42b2aa1eccb9ef291527f4afd8b71861669af66ab79dee5ed82a45
لا أفهم لماذا لا يسمح بتشغيل نفس ملف yml، والذي كان ناجحًا في السابق. موقعي، على الرغم من ذلك، يعمل بشكل جيد.
لم أتمكن من العثور على أي “خطأ” في “Discourse-Doctor” أيضًا (يمكنني فقط البحث عن كلمة “error”، والتي لم تكن موجودة في الملف الناتج لـ discourse doctor). لست خبيرًا.
بالأمس، بعد تعطيل المكون الإضافي ‘location’، تمكنت من إعادة بناء حاوية web_only الخاصة بي بنجاح. ولكن اليوم، حتى بعد تعطيل جميع المكونات الإضافية واحدًا تلو الآخر، لا يزال التمهيد يفشل.
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 900 exit 137>
Location of failure: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 137
** 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.
2c5f01d5ca6b216e744e11547b121e64aac0ad5e37d64d2ec5e2f279fe766c6a
نعم، الحاوية بدأت بالفعل والموقع يعمل. ولكن عندما أقوم بإعادة بناء/تمهيد نفس الحاوية (web_only)، فإنها تعطي خطأ. على الرغم من أنه بالأمس، عند مواجهة نفس المشكلة، سمح لي تعطيل إضافة ‘location’ بإعادة تمهيدها بنجاح، ولكن اليوم، حتى بدون إجراء أي تغييرات، فشلت نفس العملية.
هل يمكن أن يكون هذا مشكلة؟
هل يحتاج Discourse إلى أكثر من 4 جيجابايت الآن (حتى مع إيقاف تشغيل جميع الإضافات)؟
الموقعان الآخران لـ wpress اللذان يعملان على نفس القطرة/النسخة شبه خاملين.
هل يمكن أن يكون هناك حل سهل لهذا، بخلاف الانتقال إلى جهاز بذاكرة وصول عشوائي 8 جيجابايت؟
نعم، لديك 400 ميجابايت فقط من الذاكرة الحرة، وهذا لن يسمح لـ Discourse بإعادة البناء. حاول زيادتها إلى 4/5 جيجابايت، أو إيقاف المنتدى قبل إعادة البناء وحاول مرة أخرى.
بافتراض أن الـ 400 ميجابايت الحرة هي في وضع الخمول. إعادة البناء مكثفة جدًا على النظام (سأبحث عنها في Proxmox لموقعي، لكنه كان غير متصل بالإنترنت لبعض الوقت الآن)، وتتطلب ذاكرة أكبر من وضع الخمول.
أنت على حق!!
لقد أعدت تشغيل خادم أوبونتو الخاص بي، مما سمح لي بالحصول على حوالي 7 إلى 800 ميجابايت من ذاكرة الوصول العشوائي المجانية على مثيلي، ونجحت عملية التمهيد. كان عليّ إيقاف الحاوية الخاصة بي قبل حدوث خطأ آخر، إذا لم تنجح عملية إعادة بناء/تمهيد أخرى بعد تمكين المكونات الإضافية المطلوبة.
لكنني مندهش من متطلبات ذاكرة الوصول العشوائي الجديدة لـ discourse. حيث أن تكلفة المثيل/القطرة تتضاعف تقريبًا عندما أنتقل من 4 إلى 8 جيجابايت من ذاكرة الوصول العشوائي. وهو ما لا أرغب فيه، مع الأخذ في الاعتبار أن موقعي الإلكتروني صغير جدًا جدًا جدًا (ربما 10 زوار في اليوم). في السابق، كان تثبيت discourse القياسي يظهر أنه يتطلب 1 إلى 2 جيجابايت فقط من ذاكرة الوصول العشوائي.
شكرًا جزيلاً لمساعدتي في التعرف على الخطأ الذي كان يحدث.
إذا أمكن، أوصي باختيار الجهاز الذي يحتوي على 8 جيجابايت إذا كان متاحًا. الجهاز الذي يحتوي على 2 جيجابايت مخصص للمنتديات الصغيرة، ويبدو أن لديك الكثير من المحتوى.
لدي 4 جيجابايت مع عدد قليل جدًا من الزيارات حتى الآن. سأفكر في الانتقال إلى 8 جيجابايت (لا يوجد 6 جيجابايت) في المستقبل.
بالمناسبة، قالت بعض المقالات على جوجل إن مقدار الذاكرة المجانية لا يهم كثيرًا. حيث أن هذه الذاكرة مهدرة ولا تفعل شيئًا. ويجب على المستخدمين بدلاً من ذلك الذهاب / التحقق من “الذاكرة المتاحة”، وهي متاحة إذا نشأت الحاجة. وفي حالتي، الذاكرة المتاحة هي 1.4 جيجابايت.
كما توضح لقطة الشاشة/المقالة أعلاه، فإن “المتاح” يشمل “ذاكرة التخزين المؤقت” وما إلى ذلك، والتي قد تكون “متاحة للنظام” في حالة نشوء الحاجة. لكنني لست خبيرًا في هذه الأمور.
وأنا ما زلت أبحث في هذه الأمور (مرة أخرى، أنا لست خبيرًا). على الرغم من أن تخميني هو أن موقعي الآخرين على ووردبريس، واللذين أعتبرهما خامدين تقريبًا، قد يكون لهما علاقة بهذا. سأحاول إيقاف تشغيلهما في وقت فراغي، ثم مقارنة الأداء.
في الوقت الحالي، تم حل مشكلتي في إعادة البناء، دون الحاجة إلى موارد أعلى ودفع ضعف المبلغ تقريبًا كل شهر. شكرًا لك.
يمكنك إضافة مساحة مبادلة. هناك حاجة إلى الكثير من ذاكرة الوصول العشوائي لإعادة البناء. أيضًا، نظرًا لأنك ترى تشغيل أشياء أخرى غير discourse على الخادم، فإن هناك حاجة إلى ذاكرة أكبر من الحد الأدنى. حتى لو لم تكن المواقع الأخرى تتلقى أي حركة مرور، فإن تشغيل خادم الويب الآخر يستهلك بعض الذاكرة.