مرحباً بالجميع. قمت بتثبيت إصدار 2.4.5 جديد، وليس ترقية. عند محاولة تشغيل أي أمر Rake يتفاعل مع قاعدة البيانات، أواجه الخطأ التالي:
rake aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
عند البحث في Google، يبدو أن هذا الخطأ يعني في الغالب أن خادم PostgreSQL تعطل ويحتاج إلى إعادة تشغيل. لكن هذا ليس هو الحال هنا؛ حيث يعمل PostgreSQL في حاوية منفصلة، ويمكنني الاتصال به يدوياً عبر الشبكة دون أي مشكلة.
من الجدير بالذكر أن النظام يحاول الاتصال عبر منفذ محلي (socket). ومع ذلك، يحدد ملف config/discourse.conf بشكل صريح مثيل PostgreSQL للاتصال به عبر اسم المضيف والمنفذ، مع اسم المستخدم وكلمة المرور. (وهي نفس بيانات الاعتماد التي أستخدمها للاتصال يدوياً.)
هذا يوحي لي بأن… ملف discourse.conf لا يتم قراءته على الإطلاق؟ وبالتالي، يعود النظام إلى الاتصال عبر localhost باستخدام منفذ Unix، وهو بالطبع لا يعمل لأنه لا توجد قاعدة بيانات محلية؟ هذا هو أفضل تخمين لدي، لكنني لا أعرف ما إذا كان صحيحاً أو كيفية إصلاحه في حال كان كذلك.
لا، هذه ليست بيئة Docker. (مضيف مختلف.) إنها نسخة git من الوسم، مع بعض التعديلات مثل إضافة بيانات اعتماد قاعدة البيانات وتعيين force_https إلى true.
@pfaffman لم يتم العثور على ملف web.socketed.template.yml.
الأمر المحير هو أنني كان هذا يعمل في وقت سابق، أو على الأقل هذا الجزء منه. ثم نقلته إلى مجلد فرعي (وحدّثت إعدادات خادم الويب ليشير إليه) والآن لن يتصل بقاعدة البيانات. لا أفهم كيف يؤثر أحدهما على الآخر.
(تقنيًا، هذه عملية بناء لمضيف آخر لا يستخدم Docker. أحاول إعداد قالب تثبيت بنقرة واحدة لـ Discourse، وهو… يثبت صعوبة.)
نعم. سيتطلب ذلك مجموعة كاملة من المعرفة المحددة حول Discourse التي ربما لا تمتلكها، ومجموعة من المعرفة المحددة حول بيئتك المحلية التي لا يملكها أحد هنا هنا. حظًا موفقًا.