خطأ أثناء محاولة تعديل منشور بصورة فيه (NginX Proxy Manager؟)

لا. لدي 18 تيرابايت مجانية… هههه.

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

حسناً. لقد استخدمت:

./launcher rebuild app

ما زلت أرى:

I, [2022-04-29T16:46:00.618865 #1]  INFO -- : \u003e cd /var/www/discourse \u0026\u0026 [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production \u0026\u0026 yarn cache clean'
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".

وينتهي بـ:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 720 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.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 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.
29d02d2c0c6e0dde4f6d7b625db30c7b69626a80ec8100a44e8caf88565d1c7e

أتلقى الخطأ التالي ومع ذلك فإن /home/discourse تم تعيينه على 777. ما الأمر؟

warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
node:fs:1336
  handleErrorFromBinding(ctx);
  ^

Error: EACCES: permission denied, mkdir '/home/discourse/.config/configstore'
You don't have access to this file.

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

I, [2022-04-29T16:45:47.705749 #1]  INFO -- : \u003e cd /var/www/discourse \u0026\u0026 su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'
[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
`/home/discourse` is not writable.

الخطأ الوحيد الآخر الذي أراه هو خطأ بشأن المنفذ 6379. هل ينقصني شيء فيما يتعلق بفتح المنافذ؟

130:M 29 Apr 2022 16:45:10.722 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
130:M 29 Apr 2022 16:45:10.722 # Failed listening on port 6379 (TCP), aborting.
Updating files: 100% (31051/31051), done.

بعد الانتهاء من ذلك، قمت بتشغيل discourse-doctor لأن المنتدى كان متوقفاً. على الرغم مما يقوله أدناه، تم تشغيل المنتدى مرة أخرى:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 722 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.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 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.
922dd1e5bd9c3ec682864fff915eb2c12f4bf88805d555bc78f067ac2910540a
==================== END REBUILD LOG ====================
Failed to rebuild app.

Checking your domain name . . .

Connection to discussion.scottibyte.com succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . .
x86_64 arch detected.

starting up existing container
+ /usr/bin/docker start app
app
ce20d9cd2ce   local_discourse/app   "/sbin/boot"   12 days ago   Up Less than a second   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app
Restarted the container.


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git

No non-official plugins detected.

See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.

وجد discourse-doctor الأخطاء التالية:

 d.indkey, pg_get_indexdef(d.indexrelid), t.oid,
	                pg_catalog.obj_description(i.oid, 'pg_class') AS comment
	FROM pg_class t
	INNER JOIN pg_index d ON t.oid = d.indrelid
	INNER JOIN pg_class i ON d.indexrelid = i.oid
	LEFT JOIN pg_namespace n ON n.oid = i.relnamespace
	WHERE i.relkind IN ('i', 'I')
	  AND d.indisprimary = 'f'
	  AND t.relname = 'user_search_data'
	  AND n.nspname = ANY (current_schemas(false))
	ORDER BY i.relname
	
2022-04-29 16:59:55.223 UTC [720] discourse@discourse LOG:  duration: 174.472 ms  execute <unnamed>: INSERT INTO "user_search_data" ("raw_data","user_id","locale","version","search_data") VALUES ('system system', -1, 'en', 3, '''system'':1A,2B ') ON CONFLICT ("user_id") DO UPDATE SET "raw_data"=excluded."raw_data","locale"=excluded."locale","version"=excluded."version","search_data"=excluded."search_data" RETURNING "user_id"
I, [2022-04-29T16:59:55.668214 #1]  INFO -- : 
I, [2022-04-29T16:59:55.668479 #1]  INFO -- : \u003e cd /var/www/discourse \u0026\u0026 su discourse -c 'bundle exec rake themes:update assets:precompile'
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
node:fs:1336
  handleErrorFromBinding(ctx);
  ^

Error: EACCES: permission denied, mkdir '/home/discourse/.config/configstore'
You don't have access to this file.

    at Object.mkdirSync (node:fs:1336:3)
    at AsyncFunction.module.exports.sync (/var/www/discourse/app/assets/javascripts/node_modules/make-dir/index.js:114:6)
    at Configstore.set all [as all] (/var/www/discourse/app/assets/javascripts/node_modules/configstore/index.js:59:12)
    at Configstore.set (/var/www/discourse/app/assets/javascripts/node_modules/configstore/index.js:91:12)
    at clientId (/var/www/discourse/app/assets/javascripts/node_modules/ember-cli/lib/cli/index.js:55:17)
    at module.exports (/var/www/discourse/app/assets/javascripts/node_modules/ember-cli/lib/cli/index.js:105:13)
    at Object.​(/var/www/discourse/app/assets/javascripts/node_modules/ember-cli/bin/ember:34:1)
    at Module._compile (node:internal/modules/cjs/loader:1103:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
    at Module.load (node:internal/modules/cjs/loader:981:32) {
  errno: -13,
  syscall: 'mkdir',
  code: 'EACCES',
  path: '/home/discourse/.config/configstore'
}
error Command failed with exit code 1.

لذلك، بعد discourse-doctor، عاد المنتدى للعمل ولكنه يعاني من نفس الأخطاء بالضبط التي نشرتها في البداية. الرسومات مطلوبة، لذا أعتقد أن الرسومات لم تعد تعمل في هذا الإصدار. بدأ هذا الخطأ في 2.9.0 beta3 وأنا الآن في 2.9.0 beta 4. هل هناك طريقة للتراجع أو إصلاح هذه الفوضى؟

@JammyDodger الأمر كله يعود إلى هذا:

$ yarn install --production
Error: EACCES: permission denied, open '/home/discourse/.config/yarn'


لاحظ أنه لا يوجد .config في /home/discourse. لذلك، قمت بإنشاء .config.

إذا كان هذا يساعد، فإليك لوحة معلومات التحديث حتى الآن.

السبب في عودة منتداك إلى العمل بعد Discourse-Doctor هو أنه يعيد تشغيل الإصدار الحالي للموقع قبل إعادة البناء. لذا، ستكون متصلاً بالإنترنت، ولكن للأسف ستعود إلى نقطة البداية.

إذا كان لديك نسخة احتياطية حديثة، فقد تجد أنه من الأسرع تشغيل خادم جديد (droplet) بتثبيت جديد واستعادة موقعك هناك؟

لقد بحثت في الموقع عن أخطاء مماثلة، حيث أخشى أنني لا أملك أي خبرة شخصية معها، لكنني لم أفهم الإجابات بما يكفي لتقديم المشورة بشأنها. :slightly_smiling_face: @pfaffman جيد عادة في هذه الأمور. هل يمكن أن ينجح شيء كهذا، أم أنه مجرد تضليل تام؟

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

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

لقد قمت بتغيير الملكية داخل الحاوية كما أشرت. أتلقى بريدًا إلكترونيًا لرابط النسخ الاحتياطي. لقد نقرت عليه. حددت مجلد التنزيل على سطح مكتبي في Ubuntu. يعود فورًا ولا يتم تنزيل أي شيء. أنا عند النقطة التي أنا فيها على وشك فقدان ملاحظات المنتدى الخاصة بآخر عامين وحذف قناتي على YouTube. هذا المنتج يقاوم جميع محاولات الإصلاح أو النسخ الاحتياطي أو الاستعادة.

:thinking: أعتقد أنه يجب عليك تعليق أي تغييرات محفوفة بالمخاطر حتى يتمكن شخص لديه المزيد من المعرفة من تقديم نصيحة محددة. أقدر أن هذا محبط حقًا، ولكن القيام بشيء متهور قد يكون مؤسفًا.

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

إذًا، مشكلتي ليست في تحميل نسخة احتياطية. إنها في تنزيل النسخة الاحتياطية من المنتدى. لذلك، لمحاولة إصلاح مشكلة المشغل، قمت بتغيير ملكية /home/discourse داخل الحاوية إلى discourse بما أنها كانت root. قمت بتشغيل المشغل مرة أخرى و…

warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
warning Cannot find a suitable global folder. Tried these: "/usr/local, /home/discourse/.yarn"
warning Skipping preferred cache folder "/home/discourse/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".

هذا المنتج مليء بمئات الأخطاء وإصلاح خطأ أو خطأين لا يؤدي إلى أي تحسينات. قبل أسبوعين كنت أعمل بشكل جيد ثم تعطل ذاتيًا ولا يوجد مكان للذهاب إليه لإصلاح هذه الفوضى.

حسنًا، هذا شيء. :+1: طالما أنك مرتاح لهذه الشبكة الأمان، وتدرك ومستعد لتحمل المخاطر مع التجريب. أنا أستضيف بنفسي، ويمكن أن يكون الأمر مقلقًا للغاية للخروج عن “النص” دون بعض التوجيه عندما يكون لديك محتوى تهتم به.

هل يمكنك تزويدنا بمزيد من التفاصيل حول إعدادك وكيف كنت تحتفظ بخادمك حتى الآن؟ ربما يمكن أن يلقي ذلك الضوء على كيفية حدوث ذلك، ويبدو مألوفًا لشخص آخر في المجتمع لديه خبرة في مشكلة مماثلة. ما هو الخادم والمواصفات التي لديك؟ لقد ذكرت أنك اتبعت دليل التثبيت القياسي، ولكنك كنت غير واضح بشأن بعض الأوامر الروتينية، هل فاتتك تحديث مهم لخادمك، إلخ؟

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

بدلاً من التنزيل عبر واجهة الويب، يمكنك بدلاً من ذلك استخدام scp أو rsync لنقله إلى مكان آخر.

لا يمكنني فهم ما يحدث هنا.

يشير /home/discourse المذكور في ترقية واجهة المستخدم إلى داخل الحاوية، لذلك لا تتوقع رؤية تلك الملفات في نظام الملفات المحلي الخاص بك.

لكنك تفهم الفرق بين داخل الحاوية وخارجها.

هذا لن يغير أي شيء بشأن إعادة البناء لأنك لا تنظر إلى تلك الحاوية.

هل قمت بتنفيذ

git pull؟

هل أنت على الفرع main وليس الفرع master؟

إعجابَين (2)

أنا أفهم ما بداخل الحاوية وخارجها. لا يمكنني العثور على مجلد النسخ الاحتياطي.

حسنًا. تقدم كبير يا @JammyDodger. شكرًا لك على مساعدتك. لقد قمت باستعادة نسخة احتياطية من خادم Discourse الخاص بي من يناير. تم تشغيله بشكل مثالي ثم قمت بترقيته إلى أحدث إصدار باستخدام “git pull” ثم إعادة بناء التطبيق. أخبار جيدة، لا توجد أخطاء الآن.

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

للأسف، ما زلت لا أستطيع تعديل أي مشاركة تحتوي على رسومات أو إنشاء مشاركة جديدة تحتوي على رسومات. أحصل على أخطاء 500 أو مجرد “تعذر إنشاء المشاركة”. لا تتردد في تجربة هذا على https://discussion.scottibyte.com/ الخبر السار هو أنه طالما أن مشاركاتي نصية فقط، فأنا على ما يرام ومحدث إلى أحدث إصدار ولا توجد أخطاء.

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

أشعر أن مشكلتي يجب أن تكون متعلقة بعدم قدرة Discourse على الوصول إلى ذاكرة التخزين المؤقت لتحميل الصور إما عند إنشاء منشور بصور أو تعديل منشور موجود بصور. لقد قمت أيضًا بالترقية بالكامل إلى 2.9.0.beta4. في beta1 لم ألاحظ هذه المشكلة. أعتقد أنها حدثت في beta3 أو beta4. كلما قمت بتعديل منشور موجود بصور، أحصل على خطأ 500 عند محاولة حفظ التعديل. عند إنشاء منشور جديد بصور، أحصل على:


إذا قمت بتعديل أو إنشاء منشور بنص وروابط تشعبية بدون رسومات مضمنة، فإنه يعمل بشكل جيد.

تحرير مشاركة موجودة تحتوي على أي صور في Discourse 2.9.0.beta4 يفشل مع الخطأ التالي:

إنشاء موضوع جديد يفشل فور تحميل صورة بهذا الخطأ:

هل لدى أي شخص أي فكرة عن كيفية إصلاح هذا؟ بدأ الأمر بعد الترقية إلى beta4.

مرحباً @vmsman :slightly_smiling_face:

هل يمكنك الاحتفاظ بمنشوراتك لمشكلة ما في موضوع واحد، بدلاً من النشر المتقاطع وإنشاء مواضيع متعددة. إذا تمكن شخص ما من المساعدة، فسيكون لديه كل المعلومات ذات الصلة في مكان واحد وسيجعل تتبعها أسهل. :+1:

هذه أخبار جيدة. :+1: هل ستسمح لك النسخة الاحتياطية العاملة الآن بتشغيل نسخة جديدة وتثبيتها هناك؟

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

إذًا، لقد قمت ببناء خادم جديد من الصفر. لم تكن به أي أخطاء. قمت باستعادة النسخة الاحتياطية الخاصة بي. لا يزال لدي نفس أخطاء 500 في تحرير المشاركات بالرسومات. لا يمكنني أيضًا إنشاء مشاركات بالصور. لقد حاولت حتى إنشاء مشاركة قبل استعادة النسخة الاحتياطية من التثبيت البكر ولن تعمل الرسومات. يجب أن يكون هناك شيء ما قد تغير مع Discourse 2.9.0.beta4. كل شيء كان يعمل في beta2. يجب أن أصل إلى استنتاج أن هذه مشكلة شبكة. لدي Discourse وتطبيقاتي المستضافة الأخرى خلف NginX Proxy Manager وجميع التطبيقات الأخرى بخير. كاختبار، قمت بإزالة NginX Proxy Manager وعرضت الخادم مباشرة واختفت الأخطاء. لذا، أصل إلى استنتاج أن beta4 يقوم بشيء مختلف من ناحية الشبكة.

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

يبدو أنك على وشك اكتشاف شيء ما. :+1: لنجدد العنوان مرة أخرى ونرى ما إذا كان ذلك سيجلب لك المزيد من الردود.

أخشى أنني لا أعرف سوى التثبيت القياسي، لذا فإن مهاراتي في Nginx Proxy غير موجودة. :slightly_smiling_face: